Skip to content

Commit 7e952df

Browse files
string#special-characters
1 parent f380c0b commit 7e952df

File tree

1 file changed

+30
-30
lines changed

1 file changed

+30
-30
lines changed

1-js/05-data-types/03-string/article.md

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ W JavaScript dane tekstowe są przechowywane jako łańcuchy (ciągi znaków). N
44

55
Wewnętrzny format ciągów to zawsze [UTF-16](https://pl.wikipedia.org/wiki/UTF-16), nie jest on powiązany z kodowaniem strony
66

7-
## Cytaty
7+
## Cudzysłów
88

99
W JavaScript istnieją różne rodzaje cudzysłowów.
1010

@@ -50,75 +50,75 @@ Pojedyncze i podwójne cudzysłowy pochodzą ze starożytnych czasów tworzenia
5050

5151
Grawisy umożliwia również określenie "funkcji szablonu" przed pierwszym grawisem. Składnia to: <code>func&#96;string&#96;</code>. Automatycznie wywoływana funkcja `func` pobiera osadzony w niej ciąg znaków i wyrażenia i może je przetwarzać. Nazywa się to „otagowanymi szablonami”. Ta funkcjonalność ułatwia implementację niestandardowych szablonów, ale jest rzadko używana w praktyce. Więcej na ten temat przeczytasz w [dokumentacji](mdn:/JavaScript/Reference/Template_literals#Tagged_templates).
5252

53-
## Special characters
53+
## Znaki specjalne
5454

55-
It is still possible to create multiline strings with single and double quotes by using a so-called "newline character", written as `\n`, which denotes a line break:
55+
Ciągi wielowierszowe można również tworzyć za pomocą pojedynczych i podwójnych cudzysłowów, używając do tego tak zwanego "znaku nowej linii", który jest zapisany jako `\n`:
5656

5757
```js run
5858
let guestList = "Guests:\n * John\n * Pete\n * Mary";
5959

60-
alert(guestList); // a multiline list of guests
60+
alert(guestList); // wielowierszowa lista gości
6161
```
6262

63-
For example, these two lines are equal, just written differently:
63+
Te dwie linie są takie same, po prostu napisane inaczej:
6464

6565
```js run
66-
let str1 = "Hello\nWorld"; // two lines using a "newline symbol"
66+
let str1 = "Hello\nWorld"; // nowa linia ze "znaku nowej linii"
6767

68-
// two lines using a normal newline and backticks
68+
// nowa linia utworzona przy pomocy grawisów
6969
let str2 = `Hello
7070
World`;
7171

7272
alert(str1 == str2); // true
7373
```
7474

75-
There are other, less common "special" characters.
75+
Istnieją inne rzadziej używane "znaki specjalne".
7676

77-
Here's the full list:
77+
Oto pełna lista:
7878

79-
| Character | Description |
79+
| Znak | Opis |
8080
|-----------|-------------|
81-
|`\n`|New line|
82-
|`\r`|Carriage return: not used alone. Windows text files use a combination of two characters `\r\n` to represent a line break. |
83-
|`\'`, `\"`|Quotes|
84-
|`\\`|Backslash|
85-
|`\t`|Tab|
86-
|`\b`, `\f`, `\v`| Backspace, Form Feed, Vertical Tab -- kept for compatibility, not used nowadays. |
87-
|`\xXX`|Unicode character with the given hexadecimal unicode `XX`, e.g. `'\x7A'` is the same as `'z'`.|
88-
|`\uXXXX`|A unicode symbol with the hex code `XXXX` in UTF-16 encoding, for instance `\u00A9` -- is a unicode for the copyright symbol `©`. It must be exactly 4 hex digits. |
89-
|`\u{X…XXXXXX}` (1 to 6 hex characters)|A unicode symbol with the given UTF-32 encoding. Some rare characters are encoded with two unicode symbols, taking 4 bytes. This way we can insert long codes. |
81+
|`\n`|Nowa linia|
82+
|`\r`|Znak powrotu: nie używany samodzielnie. Pliki tekstowe Windows używają kombinacji dwóch znaków `\r\n` do reprezentowania łamania wiersza. |
83+
|`\'`, `\"`|Cudzysłów|
84+
|`\\`|Ukośnik wsteczny|
85+
|`\t`|Tabulacja|
86+
|`\b`, `\f`, `\v`| Backspace, Form Feed oraz Vertical Tab -- pozostawione do wstecznej kompatybilności, obecnie nieużywane. |
87+
|`\xXX`|Znak Unicode o podanym szesnastkowym kodzie`XX`, np. `'\x7A'` to to samo co `'z'`.|
88+
|`\uXXXX`|Znak Unicode z kodem szesnastkowym `XXXX` w kodowaniu UTF-16, np. `\u00A9` -- kod Unicode dla symbolu praw autorskich `©`. Musi mieć dokładnie 4 cyfry szesnastkowe. |
89+
|`\u{X…XXXXXX}` (od 1 do 6 znaków szesnastkowych)|Znak Unicode z podanym kodowaniem UTF-32. Niektóre rzadkie znaki są zakodowane za pomocą dwóch symboli Unicode, zajmując 4 bajty. W ten sposób możemy wstawiać długie kody. |
9090

91-
Examples with unicode:
91+
Przykłady z Unicode:
9292

9393
```js run
9494
alert( "\u00A9" ); // ©
95-
alert( "\u{20331}" ); // 佫, a rare Chinese hieroglyph (long unicode)
96-
alert( "\u{1F60D}" ); // 😍, a smiling face symbol (another long unicode)
95+
alert( "\u{20331}" ); // 佫, rzadki chiński znak (długi Unicode)
96+
alert( "\u{1F60D}" ); // 😍, symbol uśmiechniętej buźki (kolejny długi Unicode)
9797
```
9898

99-
All special characters start with a backslash character `\`. It is also called an "escape character".
99+
Wszystkie znaki specjalne zaczynają się od odwrotnego ukośnika `\`, tzw. "znak ucieczki".
100100

101-
We might also use it if we wanted to insert a quote into the string.
101+
Możemy go również użyć, jeśli chcemy wstawić cytat do łańcucha.
102102

103-
For instance:
103+
Na przykład:
104104

105105
```js run
106106
alert( 'I*!*\'*/!*m the Walrus!' ); // *!*I'm*/!* the Walrus!
107107
```
108108

109-
As you can see, we have to prepend the inner quote by the backslash `\'`, because otherwise it would indicate the string end.
109+
Jak widać, wewnętrzny cytat musimy poprzedzić `\'`, ponieważ w przeciwnym razie oznaczałoby to koniec ciągu.
110110

111-
Of course, only to the quotes that are the same as the enclosing ones need to be escaped. So, as a more elegant solution, we could switch to double quotes or backticks instead:
111+
Oczywiście wymóg użycia "znaku ucieczki" dotyczy tylko tych samych cudzysłowów budujących łańcuch. Możemy więc użyć bardziej eleganckiego rozwiązania, używając podwójnych cudzysłowów lub znaków wstecznych dla tego ciągu:
112112

113113
```js run
114114
alert( `I'm the Walrus!` ); // I'm the Walrus!
115115
```
116116

117-
Note that the backslash `\` serves for the correct reading of the string by JavaScript, then disappears. The in-memory string has no `\`. You can clearly see that in `alert` from the examples above.
117+
Zauważ, że znak ucieczki `\` służy tylko do poprawnego odczytania wiersza przez JavaScript i nie jest dopisywany do wiersza. Łańcuch nie ma go w pamięci. Widać to wyraźnie w wywołaniu funkcji `alert` na powyższym przykładzie.
118118

119-
But what if we need to show an actual backslash `\` within the string?
119+
Ale co, jeśli musimy pokazać wsteczny ukośnik `\` w łańcuchu?
120120

121-
That's possible, but we need to double it like `\\`:
121+
To możliwe, ale musimy go podwoić `\\`:
122122

123123
```js run
124124
alert( `The backslash: \\` ); // The backslash: \

0 commit comments

Comments
 (0)