Skip to content

Commit ad1c8b2

Browse files
committed
Merge pull request BonsaiDen#86 from ciembor/master
Correction of Polish translation.
2 parents 49a0908 + 64a603e commit ad1c8b2

24 files changed

+2196
-287
lines changed

doc/pl/array/constructor.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Zaleca się zawsze korzystać z literału tablicy - notacja `[]` - podczas tworzenia
44
nowych tablic, ponieważ konstruktor `Array` niejednoznacznie interpretuje
5-
parametry do niego przekazane.
5+
przekazane do niego parametry.
66

77
[1, 2, 3]; // Rezultat: [1, 2, 3]
88
new Array(1, 2, 3); // Rezultat: [1, 2, 3]
@@ -14,15 +14,15 @@ parametry do niego przekazane.
1414
W przypadku gdy tylko jeden argument zostanie przekazany do kostruktora `Array` i
1515
ten argument jest typu `Number`, konstruktor zwróci nową *dziwną* tablicę
1616
z ustawioną właściwością `length` na wartość przekazaną jako argument. Należy
17-
zauważyć, że **tylko** właściwość `length` zostanie ustawiona w ten sposób,
18-
rzeczywiste indeksy w tej tablicy nie zostaną zainicjalizowane.
17+
zauważyć, że **tylko** właściwość `length` zostanie ustawiona w ten sposób.
18+
Rzeczywiste indeksy w tej tablicy nie zostaną zainicjalizowane.
1919

2020
var arr = new Array(3);
2121
arr[1]; // undefined
2222
1 in arr; // zwraca false, indeks nie został ustawiony
2323

24-
Możliwość ustanienia z góry długości tablicy jest użyteczna tylko w kilku
25-
przypadkach, jak powtarzanie ciągu znaków, w którym unika się stosowania
24+
Możliwość ustalenia z góry długości tablicy jest użyteczna tylko w kilku
25+
przypadkach, jak np. powtarzanie ciągu znaków, w którym unika się stosowania
2626
pętli `for`.
2727

2828
// count - ilosc powtorzen
@@ -31,7 +31,7 @@ pętli `for`.
3131

3232
### Wnioski
3333

34-
W miare możliwości należy unikać używania konstruktora `Array`. Literały są
35-
zdecydowanie lepszym rozwiązaniem, są krótsze i mają bardziej precyzyjną składnię.
34+
W miarę możliwości należy unikać używania konstruktora `Array`. Literały są
35+
zdecydowanie lepszym rozwiązaniem. Są krótsze i mają bardziej precyzyjną składnię.
3636
Zwiększają również czytelność kodu.
3737

doc/pl/array/general.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
## Iterowanie po tablicach oraz właściwości tablic
1+
## Iterowanie po tablicach oraz właściwościach tablic
22

3-
Mimo, że tablice w JavaScript są obiektami, nie ma dobrych powodów do używania
4-
[`pętli for in`](#object.forinloop) do iteracji po nich. W rzeczywiści istnieje
5-
wiele dobrych powodów **przeciwko** wykorzystania `for in` na tablicach.
3+
Mimo że tablice w JavaScript są obiektami, nie ma dobrych powodów aby używać
4+
[`pętli for in`](#object.forinloop) do iteracji po nich. W rzeczywstości istnieje
5+
wiele dobrych powodów **przeciwko** wykorzystaniu `for in` na tablicach.
66

77
> **Uwaga:** Tablice JavaScriptowe **nie***tablicami asocjacyjnymi*. JavaScript
88
> posiada tylko [obiekty](#object.general) do mapowania kluczy do wartości. Jednakże
99
> tablice asocjacyjne **zachowują** porządek, natomiast obiekty **nie zachowują**.
1010
1111
Ponieważ pętla `for in` wylicza wszystkie właściwości, które są wewnątrz
12-
łańcucha prototypów i jedynym sposobem aby wykluczyć te właściwości to użycie
12+
łańcucha prototypów i jedynym sposobem aby wykluczyć te właściwości jest użycie
1313
[`hasOwnProperty`](#object.hasownproperty), ale wówczas pętla staje się
1414
**dwadzieście razy** wolniejsza od normalnej pętli `for`.
1515

@@ -23,22 +23,22 @@ użyć klasycznej pętli `for`.
2323
console.log(list[i]);
2424
}
2525

26-
Jest tam jeszcze jeden dodatkowy haczyk w przykładzie powyżej. Jest to zbuforowanie
26+
W powyższym przykładzie jest jeszcze jeden dodatkowy haczyk. Jest to zbuforowanie
2727
długości tablicy poprzez `l = list.length`.
2828

29-
Mimo, że właściwość `length` jest zdefiniowana w wewnątrz tablicy, istnieje nadal
29+
Mimo że właściwość `length` jest zdefiniowana wewnątrz tablicy, istnieje nadal
3030
dodatkowy koszt na wyszukiwanie tej właściwości przy każdej iteracji w pętli.
31-
Chociaż najnowsze silniki JavaScript **mogą** zastosować optymalizację w tym
32-
przypadku. Nie ma jednak możliwość ustalenia czy kod będzie wykonywany w jednym
33-
z tych nowych silników czy też nie.
31+
Chociaż najnowsze silniki JavaScript **mogą** zastosować w tym
32+
przypadku optymalizację. Nie ma jednak możliwość ustalenia czy kod będzie wykonywany w jednym
33+
z tych nowych silników, czy też nie.
3434

35-
W rzeczywistości pomijając buforowanie długości tablicy może spowodować, że pętla
35+
W rzeczywistości pominięcie buforowania długości tablicy może spowodować, że pętla
3636
będzie tylko **w połowie tak szybka** jak ta z buforowaniem długości.
3737

3838
### Właściwość `length`
3939

40-
Mimo, że *getter* właściwości `length` po prostu zwraca liczbę elementów, które są
41-
zawarte w tablicy, to *setter* może być użyta do **skracania** tablicy.
40+
Mimo, że *getter* właściwości `length` zwraca po prostu liczbę elementów, które są
41+
zawarte w tablicy, to *setter* może być użyty do **skracania** tablicy.
4242

4343
var foo = [1, 2, 3, 4, 5, 6];
4444
foo.length = 3;
@@ -54,5 +54,5 @@ Przypisanie mniejszej długości spowoduje skrócenie tablicy, ale zwiększenie
5454

5555
Aby uzyskać najlepszą wydajność zaleca się, aby zawsze używać zwykłej pętli `for`
5656
i zbuforowanie właściwości `length`. Korzystanie z pętli `for in` na tablicy jest
57-
znakiem źle napisanego kodu, który jest podatny na błędy i ma słabą wydajność.
57+
oznaką źle napisanego kodu, który jest podatny na błędy i ma słabą wydajność.
5858

doc/pl/core/eval.md

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
## Dlaczego nie należy używać `eval`
1+
## Dlaczego nie należy używać `eval`?
22

33
Funkcja `eval` uruchomi podany string jako kod JavaScript w lokalnym zasięgu (scopie).
44

@@ -11,8 +11,8 @@ Funkcja `eval` uruchomi podany string jako kod JavaScript w lokalnym zasięgu (s
1111
test(); // 3
1212
foo; // 1
1313

14-
Niestaty `eval` zostanie wykonana w lokalnym zasięgu tylko jeżeli została wywołana
15-
**bezpośrednio** *i* nazwa wołanej funkcji równa sie `eval`.
14+
Niestaty, `eval` zostanie wykonana w lokalnym zasięgu tylko wtedy, gdy zostanie wywołana
15+
**bezpośrednio** *i* nazwa wywoływanej funkcji równa sie `eval`.
1616

1717
var foo = 1;
1818
function test() {
@@ -30,20 +30,19 @@ osiągnąć ten sam efekt **nie** używając `eval`.
3030
### `eval` w przebraniu
3131

3232
[Funkcje wykonywane po upływie czasu](#other.timeouts) `setTimeout` i `setInterval`
33-
mogą przyjąć string jako pierwszy argument. String ten zostanie **zawsze** wykonany
34-
w globalnym zasięgu, ponieważ funkcja `eval` zostanie wywołana niebezpośrednio w tym
35-
przypadku.
33+
mogą przyjąć string jako pierwszy argument. String ten **zawsze** będzie wykonywany
34+
w globalnym zasięgu, ponieważ funkcja `eval` jest w tym wypadku wywoływana pośrednio.
3635

3736
### Problemy z bezpieczeństwem
3837

3938
Funkcja `eval` jest również problematyczna od strony bezpieczeństwa, ponieważ
40-
wykonuje **każdy** kod, który zostanie do niej przekazany i nie należy **nigdy**
41-
używać jej na stringach nieznanego lub niezaufanego pochodzenia.
39+
wykonuje **każdy** kod, który zostanie do niej przekazany i **nigdy** nie należy
40+
jej używać na stringach nieznanego lub niezaufanego pochodzenia.
4241

4342
### Wnioski
4443

45-
Funkcja `eval` nie powinna być w ogole używana, każdy kod, który ją wykorzystuje
44+
Funkcja `eval` nie powinna być w ogóle używana. Każdy kod, który jej używa
4645
powinien zostać sprawdzony pod względem działania, wydajności i bezpieczeństwa.
4746
W przypadku gdy użycie `eval` jest niezbędne do działania, wówczas taki kod
48-
należy przemyśleć raz jeszcze i *ulepszyć* kod aby nie wymagał użycia `eval`.
47+
należy ponownie przemyśleć i *ulepszyć* aby nie wymagał użycia `eval`.
4948

doc/pl/core/semicolon.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
## Automatyczne wstawianie średnika
22

3-
Mimo, że JavaScript ma składnię podobną do języka C, to **nie** wymusza stosowania
3+
Mimo że JavaScript ma składnię podobną do języka C, to **nie** wymusza stosowania
44
średników w kodzie źródłowym. Istnieje możliwość ich pominięcia.
55

6-
Lecz JavaScript nie jest językiem bez średników, tak na prawdę potrzebuje
6+
JavaScript nie jest językiem bez średników, tak na prawdę potrzebuje
77
średników aby zinterpretować kod źródłowy. Jednakże parser JavaScript
88
**automatycznie** wstawia średniki o ile napotka błąd parsowania związany z
99
brakiem średnika.
@@ -19,7 +19,7 @@ Parser dodaje średnik, i próbuje jeszcze raz sparsować skrypt.
1919
test()
2020

2121
Automatyczne wstawianie średników jest uważane za jeden z **największych** błędów
22-
konstrukcji języka, ponieważ *może* ono zachowanie kodu.
22+
konstrukcji języka, ponieważ *może* ono zmienić zachowanie kodu.
2323

2424
### Jak działa wstawianie
2525

@@ -84,11 +84,11 @@ Poniżej znajduje się rezultat "zgadywania" parsera.
8484
})(window); //<- wstawiony
8585

8686
> **Uwaga:** Parser JavaScript nie potrafił "odpowiednio" zinterpretować
87-
> deklaracji return, po którje został dodany znak nowej linii. Mimo, że
87+
> deklaracji return, po której został dodany znak nowej linii. Mimo że
8888
> niekoniecznie jest to błąd automatycznego wstawiania średników, to może to
8989
> jednak powodować niechciane efekty uboczne
9090
91-
Parser drastycznie zmienił działanie powyższego kodu, w niektórych przypadkach
91+
Parser drastycznie zmienił działanie powyższego kodu. W niektórych przypadkach
9292
**zmienił go źle**.
9393

9494
### Nawiasy
@@ -99,19 +99,19 @@ W przypadku, gdy w następnej linii znajduje się nawias, parser **nie** wstawi
9999
log('testing!')
100100
(options.list || []).forEach(function(i) {})
101101

102-
Ten kod zostanie zmieniony w poniższą jedną linię.
102+
Kod ten zostanie zmieniony w poniższą linię.
103103

104104
log('testing!')(options.list || []).forEach(function(i) {})
105105

106-
Jest **bardzo** prawdopodobne, że `log` **nie** zwróci fukcji, co za tym idzie
106+
Jest **bardzo** prawdopodobne, że `log` **nie** zwróci fukcji. Co za tym idzie
107107
powyższy kod wyrzuci błąd `TypeError` oznajmując, że `undefined is not a
108108
function` - `undefined` nie jest funkcją.
109109

110110
### Wnioski
111111

112-
Zaleca się aby **nigdy** nie pomijać średników, pozostawiać nawias otwierający
112+
Zaleca się, aby **nigdy** nie pomijać średników, pozostawiać nawias otwierający
113113
w tej samej linii co odpowiadająca mu definicja i nigdy nie pozostawiać deklaracji
114-
`if` / `else` bez nawiasów nawet jeżeli są jednolinijkowe. Wszystkie te uwagi nie
115-
tylko pomagają poprawić spójność kodu, ale również zapobiegają parser JavaScript
116-
przed zmianą działania kod.
114+
`if` / `else` bez nawiasów - nawet, jeżeli są jednolinijkowe. Wszystkie te uwagi nie
115+
tylko pomagają poprawić spójność kodu, ale też zapobiegają zmianie działania
116+
kodu przez parser JavaScript.
117117

doc/pl/core/undefined.md

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -7,45 +7,44 @@ z tych dwóch jest `undefined`.
77

88
`undefined` jest typem z dokładnie jedną wartością: `undefined`.
99

10-
Język również definiuje globalną zmienną, która ma wartość `undefined`, zmienna
11-
ta jest nazwana `undefined`. Jednakże jest to zmienna a **nie** stała czy słowo
12-
kluczowe w języku. Oznacza to że możliwe jest nadpisanie *wartości* tej zmiennej.
10+
Język również definiuje globalną zmienną, która ma wartość `undefined` - zmienna
11+
ta jest nazwana `undefined`. Jednakże jest to zmienna a **nie** stała, czy słowo
12+
kluczowe. Oznacza to, że możliwe jest nadpisanie *wartości* tej zmiennej.
1313

1414
> Uwaga ES55: `undefined` w ECMAScript 5 **nie będzie już** *nadpisywalna* w trybie
15-
> strict mode, ale jej nazwa może zostać przysłonona przez na przykład funkcję o
15+
> strict mode, ale jej nazwa może zostać przesłoniona przez na przykład funkcję o
1616
> nazwie `undefined`.
1717
1818
Kilka przykładów kiedy wartość `undefined` jest zwracana:
1919

20-
- Dostęp do (niemodyfikowalnej) zmiennej globalnej `undefined`.
21-
- Wyjście z funkcji, która nie ma deklaracji `return`.
22-
- Deklaracja `return`, która nic jawnie nie zwraca.
23-
- Poszukiwanie nieistniejącej właściwości.
24-
- Parametr funkcji, który nie został jawnie przekazany podczas wywołania funkcji
25-
- Wszystko co zostało ustawione na wartość `undefined`
20+
- dostęp do (niemodyfikowalnej) zmiennej globalnej `undefined`,
21+
- wyjście z funkcji, która nie ma deklaracji `return`,
22+
- deklaracja `return`, która nic jawnie nie zwraca,
23+
- poszukiwanie nieistniejącej właściwości,
24+
- parametr funkcji, który nie został jawnie przekazany podczas wywołania funkcji,
25+
- wszystko czemu została przypisana wartość `undefined`.
2626

2727
### Obsługa przypadku zmiany wartości `undefined`
2828

29-
Ponieważ globalna zmienna `undeined` tylko zawiera kopię prawdziwej *wartości* typu
29+
Ponieważ globalna zmienna `undefined` zawiera tylko kopię prawdziwej *wartości* typu
3030
`undefined`, przypisanie nowej wartości do tej zmiennej **nie** zmienia wartości
3131
*typu* `undefined`.
3232

33-
Jednak, aby porównać coś do wartości `undefined` potrzebne jest odczytanie wartości
34-
`undefined`.
33+
Jednak aby porównać coś z wartością `undefined`, trzeba odczytać wartość `undefined`.
3534

36-
Aby uchronić swój kod przeciwko możliwemu nadpisaniu zmiennej `undefined`, korzysta
35+
Aby uchronić swój kod przed możliwym nadpisaniem zmiennej `undefined`, korzysta
3736
się z powszechnej techniki dodania dodatkowego parametru do
3837
[anonimowego wrappera](#function.scopes), do którego nie zostanie przekazany
3938
argument.
4039

4140
var undefined = 123;
4241
(function(something, foo, undefined) {
43-
// undefined lokalnym zasięgu znowu
42+
// undefined o lokalnym zasięgu znowu
4443
// odnosi się do poprawnej wartości
4544

4645
})('Hello World', 42);
4746

48-
Kolejnym sposobem aby osiągnąć ten sam efekt jest użycie deklaracji zmiennej
47+
Kolejnym sposobem na osiągnięcie tego samego efektu jest użycie deklaracji zmiennej
4948
wewnątrz wrappera.
5049

5150
var undefined = 123;
@@ -55,13 +54,13 @@ wewnątrz wrappera.
5554

5655
})('Hello World', 42);
5756

58-
Jedyną różnicą pomięcy tymi sposobami są dodatkowe 4 bajty przeznaczone na słowo
57+
Jedyną różnicą pomiędzy tymi sposobami są dodatkowe 4 bajty przeznaczone na słowo
5958
kluczowe `var` i spację po nim.
6059

6160
### Zastosowanie `null`
6261

6362
Podczas gdy `undefined` w kontekście języka jest używany jak *null* w sensie
64-
tradycyjnych języków, to `null` w JavaScript (jako literał i jako typ) jest po
63+
tradycyjnych języków, `null` w JavaScript (jako literał i jako typ) jest po
6564
prostu kolejnym typem danych.
6665

6766
Jest wykorzystywany we wnętrzu JavaScript (np. deklaracji końca łańcucha prototypów

doc/pl/function/arguments.md

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
## Obiekt `arguments`
22

3-
Każda zasięg funkcyjny w języku JavaScript ma dostęp do specjalnej zmiennej `arguments`.
3+
Każdy zasięg funkcyjny w języku JavaScript ma dostęp do specjalnej zmiennej `arguments`.
44
Ta zmienna trzyma listę wszystkich argumentów przekazanych do funkcji.
55

6-
> **Uwaga:** W przypadku gdy `arguments` zostanie zadeklarowana wewnatrz funkcji
6+
> **Uwaga:** W przypadku gdy `arguments` zostanie zadeklarowana wewnątrz funkcji
77
> poprzez `var` lub jako nazwa jednego z formalnych parametrów, obiekt `arguments`
88
> nie zostanie utworzony.
99
10-
Obiekt `arguments` **nie** jest typu `Array`. Mimo, że posiada pewne cechy
11-
semantyki tablic - właściwość `length` - to nie dziedziczy on z `Array.prototype`,
12-
ale w rzeczywistości z `Object`.
10+
Obiekt `arguments` **nie** jest typu `Array`. Mimo że posiada pewne cechy
11+
semantyki tablic - właściwość `length` - to w rzeczywistości nie dziedziczy
12+
on z `Array.prototype`, tylko z `Object`.
1313

14-
Ze względu na to **nie** można używać standardowych dla tablic metod takich jak
15-
`push`, `pop` czy `slice` na obiekcie `arguments`. Mimo, że iteracja przy pomocy
14+
Ze względu na to, na obiekcie `arguments` **nie** można używać standardowych dla tablic metod,
15+
takich jak `push`, `pop` czy `slice`. Mimo że iteracja przy pomocy
1616
pętli `for` działa dobrze, to aby skorzystać ze standardowych metod tablicowych
1717
należy skonwertować `arguments` do prawdziwego obiekt `Array`.
1818

@@ -29,7 +29,7 @@ które mają duży wpływ na wydajność.
2929
### Przekazywanie argumentów
3030

3131
Zalecany sposób przekazywania argumentów z jednej funkcji do następnej
32-
wyglada następująco.
32+
wyglada następująco:
3333

3434
function foo() {
3535
bar.apply(null, arguments);
@@ -58,11 +58,11 @@ szybkich i nieograniczonych wrapperów.
5858

5959
### Parametry formalne i indeksy argumentów
6060

61-
Obiekt `arguments` tworzy funckje *getter* i *setter* nie tylko dla swoich
61+
Obiekt `arguments` tworzy funkcje *getter* i *setter* nie tylko dla swoich
6262
właściwości, ale również dla parametrów formalnych funkcji.
6363

6464
W rezultacie zmiana wartości parametru formalnego zmieni również wartość
65-
odpowiadającemu mu wpisowi w obiekcie `arguments`, zachodzi to również w drugą stronę.
65+
odpowiadającemu mu wpisowi w obiekcie `arguments`. Zachodzi to również w drugą stronę.
6666

6767
function foo(a, b, c) {
6868
arguments[0] = 2;
@@ -79,7 +79,7 @@ odpowiadającemu mu wpisowi w obiekcie `arguments`, zachodzi to również w drug
7979

8080
### Mity i prawdy o wydajności
8181

82-
Obiekt `arguments` jest zawsze tworzony z wyjątkiem dwóch przypadków, gdy
82+
Obiekt `arguments` jest tworzony zawsze, z wyjątkiem dwóch przypadków, gdy
8383
zmienna o takiej nazwie jest zdefiniowana wewnątrz funkcji lub jeden z parametrów
8484
formalnych funkcji ma taką nazwę. Nie ma znaczenia czy obiekt `arguments` jest
8585
używany czy nie.
@@ -108,9 +108,8 @@ nowoczesnych silnikach JavaScript. Ten przypadek to wykorzystanie
108108
W powyższym przykładzie `foo` nie może zostać wykorzystana metoda [inline][1]
109109
ponieważ potrzebne są nie tylko informacje na własny temat ale również
110110
na temat funkcji wywołującej. Takie użycie nie tylko uniemożliwia
111-
inlining i korzyści z niej wynikające, ale również stanowi złamanie
112-
zasad enkapsulacji ponieważ ta funkcja jest zależna od kontekstu
113-
w jakim została wywołana.
111+
inlining i korzyści z niego wynikające, ale też łamie zasady enkapsulacji,
112+
ponieważ ta funkcja jest zależna od kontekstu w jakim została wywołana.
114113

115114
**Mocno zalecane** jest aby **nigdy** nie korzystać z `arguments.callee`
116115
i żadnej jej własności.

0 commit comments

Comments
 (0)