Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
8ab07e1
consistent error output comments
Nov 7, 2019
7b0e8ba
Update article.md
paroche Nov 8, 2019
d4c9b1a
modified a sentence
Haggr Nov 10, 2019
d43276a
Added clarification
koala-lava Nov 11, 2019
fd294ee
Add a missing word
huyenltnguyen Nov 12, 2019
9a07b1f
Fix small grammar mistake in closure makeArmy task
jakewilson Nov 12, 2019
fd70f75
add consistency
dagolinuxoid Nov 18, 2019
183d87b
Update solution.md
spaceinvadev Nov 18, 2019
0152adc
Fix: typos
kvoncode Nov 19, 2019
c7a9080
BigInt Type added in primitive types
ajitsinghkaler Nov 20, 2019
4963fce
Fix SyntaxError
neozeno Nov 20, 2019
09f2aa6
Update article.md
neozeno Nov 20, 2019
12acb05
Added new information about bigInt
ajitsinghkaler Nov 22, 2019
d883720
Fix err in syntax
Nov 23, 2019
69e1169
fixed a word 'operational' to be 'operating'
koala-lava Nov 24, 2019
fd215a4
Update article.md
generally23 Nov 24, 2019
e3fb7dd
minor
koala-lava Nov 25, 2019
7f2118b
consistent CSS for the task and the solution
koala-lava Nov 25, 2019
2ddea5d
Update article.md
dashaezhova Nov 25, 2019
51d2097
Consistent HTML for the task source and solution
koala-lava Nov 25, 2019
9f9f585
Fix: typos in <5-network/02-formdata/article.md> (#1618)
lex111 Nov 25, 2019
691c306
Fix err in syntax (#1621)
lex111 Nov 25, 2019
8512134
Update article.md (#1625)
lex111 Nov 25, 2019
a797429
fixed a word 'operational' to be 'operating' (#1624)
lex111 Nov 25, 2019
2c10460
typo (#1627)
lex111 Nov 25, 2019
03499d6
Update article.md (#1628)
lex111 Nov 25, 2019
9baeb3c
minor
koala-lava Nov 25, 2019
9c7f4cd
replace russian-english comment with english (#1630)
lex111 Nov 25, 2019
18a3b24
modified a sentence (#1601)
lex111 Nov 25, 2019
8bdd11c
Update article.md
paroche Nov 26, 2019
69c30d0
Update article.md
paroche Nov 26, 2019
c356514
Update article.md
paroche Nov 26, 2019
f073dbd
Update task.md
paroche Nov 26, 2019
b5b91fa
Update 'Window sizes and scrolling' article.md
dashaezhova Nov 26, 2019
9323cf2
Update index.html
masterashu Nov 26, 2019
4355972
Update index.html
masterashu Nov 26, 2019
fcf12e4
Update solution.md
masterashu Nov 26, 2019
6d2b959
Update task.md
masterashu Nov 26, 2019
484b24d
Update article.md
paroche Nov 27, 2019
bee5cdf
Merge pull request #1633 from javascript-tutorial/paroche-patch-11
paroche Nov 27, 2019
899d11e
Update article.md
paroche Nov 27, 2019
020dd85
Merge pull request #1634 from javascript-tutorial/paroche-patch-11
paroche Nov 27, 2019
2af7402
Fixing urls to start with 'https' (#1632)
lex111 Nov 27, 2019
8c8f3bc
Minor note
koala-lava Nov 28, 2019
ce8e68f
minor fixes
iliakan Nov 28, 2019
40e941e
minor fixes
iliakan Nov 30, 2019
4587fde
re-import images (Sketch update)
iliakan Nov 30, 2019
53b5fb2
minor
iliakan Nov 30, 2019
fcd7589
minor fixes
iliakan Nov 30, 2019
6a52ee2
Merge pull request #1637 from koala-lava/patch-3
iliakan Nov 30, 2019
d334cf8
minor fixes
iliakan Nov 30, 2019
cd27aff
Merge pull request #1631 from dashaezhova/patch-1
iliakan Nov 30, 2019
df4acb6
Merge pull request #1629 from koala-lava/patch-7
iliakan Nov 30, 2019
f8e8fd1
Merge pull request #1626 from koala-lava/patch-6
iliakan Nov 30, 2019
16e09cf
Merge pull request #1614 from spaceinvadev/master
iliakan Nov 30, 2019
9d09ada
Merge pull request #1613 from dagolinuxoid/patch-3
iliakan Nov 30, 2019
22cab45
Merge pull request #1606 from jakewilson/patch-1
iliakan Nov 30, 2019
438e66d
Merge pull request #1620 from ajitsinghkaler/BigInt
iliakan Nov 30, 2019
d0b0a4a
Merge pull request #1 from javascript-tutorial/master
neozeno Nov 30, 2019
bada753
Fix small typo in example comment
spaceinvadev Nov 30, 2019
a70c430
bigint
iliakan Dec 1, 2019
9548345
Update article.md
paroche Dec 1, 2019
790bd5c
Update article.md
paroche Dec 1, 2019
d3f2e8f
Merge pull request #1643 from spaceinvadev/small-typo-in-comment
iliakan Dec 1, 2019
7469922
Merge pull request #1604 from huyenltnguyen/huyenltnguyen-patch-1
iliakan Dec 1, 2019
d04fbf4
Merge pull request #1597 from javascript-tutorial/paroche-patch-7
iliakan Dec 1, 2019
4496439
Merge pull request #1594 from koala-lava/master
iliakan Dec 1, 2019
2189dc9
minor fixes
iliakan Dec 1, 2019
e1c9b21
content improvements
iliakan Dec 1, 2019
0de5046
Update solution.md
koala-lava Dec 1, 2019
22888ae
minor fixes
iliakan Dec 1, 2019
47d1865
Merge pull request #1603 from koala-lava/patch-2
iliakan Dec 1, 2019
0fd5806
Update article.md
CyberMew Dec 2, 2019
e62b04a
Update article.md
CyberMew Dec 2, 2019
6837f4e
Update article.md
paroche Dec 2, 2019
a169464
Update solution.md
CyberMew Dec 2, 2019
458fdff
content improvements
iliakan Dec 2, 2019
7e5f960
Merge pull request #1651 from CyberMew/patch-10
iliakan Dec 2, 2019
4dcc05d
Merge pull request #1650 from javascript-tutorial/paroche-patch-7
iliakan Dec 2, 2019
6cc9b62
Merge pull request #1647 from CyberMew/patch-8
iliakan Dec 2, 2019
09da2a9
content fixes, #1646
iliakan Dec 2, 2019
9831b86
fixes #1599
iliakan Dec 2, 2019
e144f39
fixes #1591
iliakan Dec 2, 2019
4110f00
closes #1591
iliakan Dec 3, 2019
5b19579
fixes #1653
iliakan Dec 4, 2019
cb1e047
merging all conflicts
iliakan Dec 9, 2019
3cf676c
Resolve merge conflicts
Dec 12, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 6 additions & 7 deletions 1-js/01-getting-started/4-devtools/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,15 @@ Dokładny widok narzędzi deweloperskich zależy od wersji Chrome'a. Narzędzia
- Widzimy treść błędu zapisaną kolorem czerwonym. W tym przypadku skrypt zawiera nieznaną komendę "lalala".
- Po prawej stronie jest klikalny link do źródła `bug.html:12`, z numerem linii kodu, w której błąd wystąpił.

Poniżej treści błędu znajduje się niebieski symbol `>`. Oznacza linię, w której możemy pisać kod JavaScript. Naciśnij `key:Enter`, aby ten kod uruchomić (`key:Shift+Enter` dodaje nowy wiersz).
Poniżej treści błędu znajduje się niebieski symbol `>`. Oznacza linię, w której możemy pisać kod JavaScript. Naciśnij `key:Enter`, aby ten kod uruchomić.

Widzisz już komunikaty błędów i na początek powinno to wystarczyć. W rozdziale pt. "<info:debugging-chrome>" wrócimy do narzędzi deweloperskich, by poznać więcej tajników debuggowania.

```smart header="Multi-line input"
Usually, when we put a line of code into the console, and then press `key:Enter`, it executes.

To insert multiple lines, press `key:Shift+Enter`. This way one can enter long fragments of JavaScript code.
```

## Firefox, Edge i inne

Expand All @@ -50,12 +55,6 @@ Otwórz Preferencje i przejdź do zakładki "Zaawansowane". Zaznacz na samym dol

Teraz, gdy naciśniesz `key:Cmd+Opt+C`, otworzysz konsolę. Warto dodać, że w górnym pasku menu pojawiła się nowa pozycja o nazwie "Programowanie". Ma w sobie wiele funkcji i opcji konfiguracyjnych.

## Wpisywanie w wielu wierszach

Zazwyczaj gdy wprowadzamy kod JavaScript w konsoli i naciśniemy klawisz `key:Enter`, wykona się on od razu.

Aby wstawić kod, który ma kilka linii, wystarczy wcisnąć na końcu linii klawisz `key:Shift+Enter`, aby przejść do następnej.

## Podsumowanie

- Narzędzia deweloperskie pozwalają podejrzeć błędy, uruchomić komendy javascriptowe, sprawdzać zmienne i wiele, wiele innych.
Expand Down
34 changes: 28 additions & 6 deletions 1-js/02-first-steps/05-types/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ message = 123456;

Część języków programowania stosuje tak zwane "dynamiczne typowanie", które oznacza, że typy danych zmiennych mogą zmienić się w trakcie działania programu.

Wyróżniamy 7 podstawowych typów danych w JavaScripcie. Przedstawimy je teraz ogólnie, w następnych rozdziałach omówimy bardziej szczegółowo.
Wyróżniamy 8 podstawowych typów danych w JavaScripcie. Przedstawimy je teraz ogólnie, w następnych rozdziałach omówimy bardziej szczegółowo.

## Typ liczbowy

Expand Down Expand Up @@ -62,14 +62,33 @@ Specjalne wartości liczbowe formalnie należą do typu "liczbowego". Oczywiści

Więcej informacji o pracy z liczbami zawarte jest w rozdziale pt. "<info:number>".

## BigInt

W JavaScripcie typ liczbowy nie może reprezentować liczb całkowitych większych od <code>2<sup>53</sup></code> (ani ujemnych mniejszych od <code>-2<sup>53</sup></code>) ze względu na ograniczenia techniczne narzucone przez jego reprezentację wewnętrzną. Daje to liczby o długości około 16 cyfr, co w większości przypadków wystarcza. Jednak czasami potrzebujemy skorzystać z naprawdę dużych liczb, np. w krytografii czy znaczników czasowych z dokładnością do mikrosekund.

Typ `BigInt` został niedawno dodany do języka i reprezentuje liczby całkowite o dowolnej długości.

`BigInt` tworzy się poprzez dodanie `n` na końcu liczby:

```js
// "n" na końcu oznacza, że to liczba typu BigInt
const bigInt = 1234567890123456789012345678901234567890n;
```

Z racji tego, że liczby typu `BigInt` są rzadko stosowane, poświęciliśmy im osobny rozdział pt. "<info:bigint>".

```smart header="Problemy z kompatybilnością"
Aktualnie dla typu `BigInt` wsparcie posiadają przeglądarki Firefox i Chrome. Brakuje go w Safari/IE/Edge.
```

## Typ tekstowy

Ciąg znaków (ang. *string*), zwany także "literałem znakowym" lub "napisem", to typ tekstowy, który zapisujemy przy użyciu cudzysłowów.

```js
let str = "Witaj";
let str2 = 'Można użyć także apostrofów';
let phrase = `Można dołączyć zmienną ${str}`;
let phrase = `Można dołączyć dodatkową zmienną ${str}`;
```

W JavaScripcie istnieją 3 typy cudzysłowów.
Expand All @@ -78,7 +97,7 @@ W JavaScripcie istnieją 3 typy cudzysłowów.
2. Apostrofy: `'Witaj'`.
3. Grawisy (ang. *backtick*): <code>&#96;Witaj&#96;</code>.

W JavaScripcie nie ma różnicy między cudzysłowami a apostrofami.
Pojedyncze i podwójne cudzysłowy są cudzysłowami prostymi. W JavaScripcie nie ma między nimi żadnej różnicy.

Grawisy są "rozszerzeniem funkcjonalności" zwykłych apostrofów i cudzysłowów. Pozwalają na dodanie zmiennej i wyrażeń do ciągu znaków poprzez umieszczenie ich wewnątrz `${…}`, przykładowo:

Expand All @@ -102,12 +121,12 @@ alert( "Wynik to ${1 + 2}" ); // Wynik to ${1 + 2} (cudzysłów traktuje ${…}
Więcej o ciągach znaków można przeczytać w rozdziale pt. "<info:string>".

```smart header="JavaScript nie posiada typu *znakowego*."
W niektórych językach istnieje specjalny typ "znakowy", używany do przechowywania pojedynczych znaków. Przykładowo, w językach C i Java możemy użyć typu `char`.
W niektórych językach istnieje specjalny typ "znakowy", używany do przechowywania pojedynczych znaków. Przykładowo, w językach C i Java możemy użyć typu o nazwie "char".

W JavaScripcie nie ma takiego typu. Mamy do dyspozycji jedynie `string`. Ciąg znaków może być pusty albo zawierać jeden i więcej znaków.
```

## Typ logiczny
## Typ logiczny (boolean)

Typ logiczny (ang. *boolean*) posiada dwie wartości: `true` (prawda) lub `false` (fałsz).

Expand Down Expand Up @@ -198,6 +217,8 @@ typeof undefined // "undefined"

typeof 0 // "number"

typeof 10n // "bigint"

typeof true // "boolean"

typeof "coś" // "string"
Expand Down Expand Up @@ -226,9 +247,10 @@ Ostatnie trzy linijki wymagają dodatkowego wyjaśnienia.

## Podsumowanie

W JavaScripcie wyróżniamy 7 podstawowych typów danych.
W JavaScripcie wyróżniamy 8 podstawowych typów danych.

- `number` dla wszystkich liczb: całkowitych lub zmiennoprzecinkowych.
- `bigint` dla liczb całkowitych o dowolnej długości.
- `string` dla ciągów znaków. Może być pusty albo zawierać jeden czy więcej znaków; nie ma oddzielnego typu dla pojedynczego znaku.
- `boolean` dla `true`/`false` (prawda/fałsz).
- `null` dla pustych wartości -- autonomiczny typ, który posiada jedną wartość: `null`.
Expand Down
13 changes: 1 addition & 12 deletions 1-js/02-first-steps/06-type-conversions/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,18 +80,7 @@ alert( Number(false) ); // 0

Zauważ, że `null` i `undefined` zachowują się inaczej. `null` jest konwertowany do zera, a `undefined` do `NaN`.

````smart header="Operator '+' łączy ciągi znaków"
Większość operacji matematycznych rzutuje wartości do typu liczbowego. Jedynym wyjątkiem jest `+`. Jeśli jedna z dodawanych wartości będzie typu tekstowego, druga również jest rzutowana do typu tekstowego.

Wtedy następuje ich konkatenacja (połączenie):

```js run
alert( 1 + '2' ); // '12' (tekst po prawej)
alert( '1' + 2 ); // '12' (tekst po lewej)
```

Dzieje się tak w sytuacji, gdy przynajmniej jeden z argumentów jest typu tekstowego. W przeciwnym wypadku wartości są rzutowane na typ liczbowy.
````
Większość operatorów matematycznych także wykonuje taką konwersję. Więcej na ten temat dowiesz się z kolejnego rozdziału.

## Rzutowanie do typu logicznego

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ null === +"\n0\n" → false
Some of the reasons:

1. Obviously, true.
2. Dictionary comparison, hence false.
2. Dictionary comparison, hence false. `"a"` is smaller than `"p"`.
3. Again, dictionary comparison, first char of `"2"` is greater than the first char of `"1"`.
4. Values `null` and `undefined` equal each other only.
5. Strict equality is strict. Different types from both sides lead to false.
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion 1-js/03-code-quality/02-coding-style/code-style.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading