Skip to content

Commit e2c62e0

Browse files
committed
Corrections in Polish translation (Object section).
1 parent bd4a74b commit e2c62e0

File tree

5 files changed

+1984
-73
lines changed

5 files changed

+1984
-73
lines changed

doc/pl/object/forinloop.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
## The `for in` Loop
1+
## Pętla `for in`
22

33
Podobnie jak operator `in`, pętla `for in` przeszukuje łańcuch prototypów
44
podczas iteracji po właściwościach obiektu.
55

66
> **Uwaga:** pętla `for in` **nie** będzie iterować po właściwościach, które
7-
> mają ustawiony atrybut `enumerable` na `false` na przykład właściwość
8-
> `length` tablicy.
7+
> mają ustawiony atrybut `enumerable` na `false` (na przykład właściwość
8+
> `length` tablicy).
99
1010
// Zatrucie Object.prototype
1111
Object.prototype.bar = 1;
@@ -15,15 +15,15 @@ podczas iteracji po właściwościach obiektu.
1515
console.log(i); // wyświetla obie właściwości: bar i moo
1616
}
1717

18-
Ponieważ nie jest możliwe, aby zmienić zachowanie pętli `for in` to niezbędne
18+
Ponieważ zmiana zachowania pętli `for in` nie jest możliwa, niezbędne
1919
jest odfiltrowanie niechcianych właściwości wewnątrz ciała pętli, korzystając
2020
z metody [`hasOwnProperty`](#object.hasownproperty) z `Object.prototype`.
2121

22-
> **Uwaga:** Ponieważ pętla `for in` zawsze przeszukuje cały łańcuch prototypów
22+
> **Uwaga:** Ponieważ pętla `for in` zawsze przeszukuje cały łańcuch prototypów,
2323
> będzie się ona stawała coraz wolniejsza przy dodaniu każdej kolejnej warstwy
2424
> dziedziczenia do obiektu.
2525
26-
### Korzystanie z `hasOwnProperty` do odfiltrowania
26+
### Filtrowania przy użyciu `hasOwnProperty`
2727

2828
// foo z przykładu powyżej
2929
for(var i in foo) {
@@ -32,19 +32,19 @@ z metody [`hasOwnProperty`](#object.hasownproperty) z `Object.prototype`.
3232
}
3333
}
3434

35-
To jest jedyna poprawna wersja, którą należy używać. Ze względu na użycie
36-
`hasOwnProperty` zostanie wypisane **jedynie** `moo`. Gdy opuścimy `hasOwnProperty`
37-
kod będzie podatny na błędy, gdy natywne prototypy np. `Object.prototype`
38-
zostanie rozszerzony.
35+
To jest jedyna poprawna wersja, której należy używać. Ze względu na użycie
36+
`hasOwnProperty` zostanie wypisane **jedynie** `moo`. Gdy opuścimy `hasOwnProperty`,
37+
kod będzie podatny na błędy, gdy natywne prototypy (np. `Object.prototype`)
38+
zostaną rozszerzone.
3939

40-
[Prototype][1] jest jednym z szeroko rozpowszechniony frameworków, który dokonuje
41-
takiego rozszerzenia. Używanie tego frameworku oraz nie używanie w pętle `for in`
40+
[Prototype][1] jest jednym z popularniejszych frameworków, które dokonują
41+
takiego rozszerzenia. Używanie tego frameworku oraz nie stosowanie w pętli `for in`
4242
metody `hasOwnProperty` gwarantuje błędy w wykonaniu.
4343

4444
### Wnioski
4545

46-
Zaleca się aby zawsze używać metody `hasOwnProperty`. Nigdy nie powinno się dokonywać
47-
żadnych założeń na temat środowiska, w którym kod będzie wykonywany i czy natywne
48-
prototypy zostały rozszerzone czy nie.
46+
Zaleca się, aby zawsze używać metody `hasOwnProperty`. Nigdy nie powinno się dokonywać
47+
żadnych założeń na temat środowiska, w którym kod będzie wykonywany ani tego, czy
48+
natywne prototypy zostały rozszerzone, czy nie.
4949

5050
[1]: http://www.prototypejs.org/

doc/pl/object/general.md

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ Wszystko w JavaScripcie zachowuje sie jak obiekt, z dwoma wyjątkami
1010
Foo.bar = 1;
1111
Foo.bar; // 1
1212

13-
Popularnym błędem jest wykorzystanie literałów liczbowych jako obiektu.
14-
Spowodowanie jest to usterką w parserze JavaScript, który interpretuje kropkę
15-
po literale liczbowym jako rozdzielenie części całkowitej od części po przecinku
13+
Popularnym błędem jest traktowanie literałów liczbowych jak obiektu.
14+
Spowodowane jest to specyfiką parsera JavaScript, który interpretuje kropkę
15+
po literale liczbowym jako rozdzielenie części całkowitej od części ułamkowej
1616
liczby.
1717

1818
2.toString(); // wyrzuca błąd SyntaxError
@@ -22,27 +22,27 @@ jak obiekt.
2222

2323
2..toString(); // druga kropka jest poprawnie rozpoznana
2424
2 .toString(); // zauważ, że pozostawiona jest spacja przed kropką
25-
(2).toString(); // 2 zostanie zewaluowane najpiewr
25+
(2).toString(); // 2 zostanie najpierw zewaluowane
2626

2727
### Obiekty jako typy danych
2828

29-
Obiekty w języku JavaScript mogą być używana jako [*tablice asocjacyjne*][1].
30-
Ponieważ obiekty głównie składają się z mapowań pomiędzy nazwanymi właściwościami (kluczami)
29+
Obiekty w języku JavaScript mogą być używana jako [*tablice asocjacyjne*][1],
30+
ponieważ obiekty składają się głównie z mapowań pomiędzy nazwanymi właściwościami (kluczami)
3131
a wartościami dla tych atrybutów.
3232

33-
Używając literału obiektu - notacji `{}` - istnieje możliwość stworzenie obiektu prostego.
33+
Używając literału obiektu - notacji `{}` - istnieje możliwość stworzenia obiektu prostego.
3434
Ten nowy obiekt bedzie [dziedziczył](#object.prototype) z `Object.prototype` oraz
35-
nie bedzie posiadał żadnych [własnych właściwości](#object.hasownproperty) zdefiniowanych w sobie.
35+
nie bedzie posiadał żadnych [własnych właściwości](#object.hasownproperty).
3636

37-
var foo = {}; // nowy pusty obiekt
37+
var foo = {}; // nowy, pusty obiekt
3838

3939
// nowy obiekt z właściwością test o wartości 12
4040
var bar = {test: 12};
4141

4242
### Dostęp do właściwości
4343

44-
Właściwości obiektu można uzyskać na dwa sposoby, poprzez notację z kropką
45-
lub notacje z nawiasami kwadratowymi.
44+
Właściwości obiektu można uzyskać na dwa sposoby - poprzez notację z kropką
45+
lub z nawiasami kwadratowymi.
4646

4747
var foo = {name: 'Kitten'}
4848
foo.name; // kitten
@@ -54,8 +54,8 @@ lub notacje z nawiasami kwadratowymi.
5454
foo.1234; // wyrzuca błąd SyntaxError
5555
foo['1234']; // działa, zwraca undefined
5656

57-
Obie notacje są identyczne w swoim działaniu, z tą tylko różnicą że notacja z nawiasami
58-
kwadratowymi pozwala na dynamiczne dodawanie właściwości i nie prowadzi do wyrzycenia
57+
Obie notacje są identyczne w swoim działaniu, z tą tylko różnicą, że notacja z nawiasami
58+
kwadratowymi pozwala na dynamiczne dodawanie właściwości i nie prowadzi do wyrzucenia
5959
błędu podczas odczytu nieistniejącej właściwości.
6060

6161
### Usuwanie właściwości
@@ -79,19 +79,19 @@ związaną z własnością, ale nie usunie to *klucza* (nazwy własności) z obi
7979
}
8080
}
8181

82-
Powyższy kod wypisuje dwie linie `bar undefined` i `foo null` - tylko własność `baz`
82+
Powyższy kod wypisuje dwie linie - `bar undefined` i `foo null`. Tylko własność `baz`
8383
została usunięta i dlatego nie została wypisana.
8484

8585
### Notacja właściwości
8686

8787
var test = {
88-
'case': 'I am a keyword so I must be notated as a string',
89-
delete: 'I am a keyword too so me' // wyrzuca błąd SyntaxError
88+
'case': 'jestem zastrzeżonym słowem kluczowym, więc muszę być w cudzysłowie',
89+
delete: 'tak samo jak ja' // wyrzuca błąd SyntaxError
9090
};
9191

92-
Nazwy właściwości obiektu mogą być zarówno zapisane jako tekst(bez cudzysłowów
92+
Nazwy właściwości obiektu mogą być zarówno zapisane jako tekst (bez cudzysłowów
9393
lub apostrofów) lub jako string (w cudzisłowach lub apostrofach).
94-
Ze względu na kolejne niedociągnięcie w parserze JavaScript
94+
Ze względu na kolejne niedociągnięcie w parserze JavaScript,
9595
powyższy kod wyrzuci błąd `SyntaxError` dla implementacji JavaScript ponizej ECMAScript 5.
9696

9797
Ten błąd wynika z faktu, że `delete` jest *słowem kluczowym*, dlatego musi zostać

doc/pl/object/hasownproperty.md

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

3-
W celu sprawdzenia czy dana właściwość została zdefiniowana *w tym* obiekcie a **nie**
4-
w [łańcuchu prototypów](#object.prototype) niezbędne jest skorzystanie z metody
5-
`hasOwnProperty`, która wszystkie obiekty dziedziczą z `Object.prototype`.
3+
W celu sprawdzenia, czy dana właściwość została zdefiniowana *w tym* obiekcie, a **nie**
4+
w [łańcuchu prototypów](#object.prototype), niezbędne jest skorzystanie z metody
5+
`hasOwnProperty`, której wszystkie obiekty dziedziczą z `Object.prototype`.
66

7-
> **Uwaga:** **Nie** jest wystarczające, by sprawdzić, czy właściwość jest `undefined`.
8-
> Ponieważ właściwość może istnieć, ale jej wartość być ustawiona na `undefined`.
7+
> **Uwaga:** **Nie** wystarczy sprawdzić, czy właściwość jest `undefined`,
8+
> ponieważ właściwość może istnieć, ale jej wartość być ustawiona na `undefined`.
99
10-
`hasOwnProperty` jest jedyna metodą w języku JavaScript która operuje na właściwościach
10+
`hasOwnProperty` jest jedyną metodą w języku JavaScript, która operuje na właściwościach
1111
i **nie** przegląda całego łańcucha prototypów.
1212

1313
// Zatrucie Object.prototype
@@ -28,7 +28,7 @@ ale gdzieś indziej w łańcuchu prototypów.
2828
### `hasOwnProperty` jako właściwość
2929

3030
JavaScript **nie** chroni właściwości o nazwie `hasOwnProperty`, zatem istnieje
31-
możliwość, że obiekt może posiadać tak nazwaną właściwość. Konieczne jest użycie
31+
możliwość, że obiekt będzie posiadać tak nazwaną właściwość. Konieczne jest użycie
3232
*zewnętrznego* `hasOwnProperty`, aby otrzymać poprawne rezultaty.
3333

3434
var foo = {
@@ -46,8 +46,8 @@ możliwość, że obiekt może posiadać tak nazwaną właściwość. Konieczne
4646

4747
### Wnioski
4848

49-
**Jedyną** metodą służącą do sprawdzenia zdefiniowania jakiejś właściwości w konkretnym
50-
obiekcie jest metoda `hasOwnProperty`. Zaleca się korzystać z `hasOwnProperty` jako część
51-
**każdej** [pętli `for in`](#object.forinloop), pozwoli to uniknąć błędów pochodzących z
52-
rozszerzonych natywnych [prototypów](#object.prototype).
49+
**Jedyną** metodą służącą do sprawdzenia istnienia jakiejś właściwości w konkretnym
50+
obiekcie jest metoda `hasOwnProperty`. Zaleca się korzystać z `hasOwnProperty` w
51+
**każdej** [pętli `for in`](#object.forinloop). Pozwoli to uniknąć błędów pochodzących
52+
z rozszerzonych natywnych [prototypów](#object.prototype).
5353

doc/pl/object/prototype.md

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
## Prototyp
22

3-
JavaScript nie posiada klasycznego modelu dziedziczenia, lecz zamiast tego
3+
JavaScript nie posiada klasycznego modelu dziedziczenia. Zamiast tego
44
dziedziczenie jest realizowane poprzez *prototypy*.
55

66
Choć jest to często uważane za jedną ze słabości języka JavaScript,
77
prototypowy model dziedziczenia, jest w rzeczywistości potężniejszy od klasycznego
8-
modelu. Na przykład stworzenia klasycznego modelu na podstawie modelu prototypowym
9-
jest dość proste, podczas gdy zrobienie odwrotnie to już o wiele trudniejsze zadanie.
8+
modelu. Na przykład stworzenia klasycznego modelu na podstawie modelu prototypowego
9+
jest dość proste, podczas gdy zrobienie odwrotnego przekształcenie to o wiele trudniejsze zadanie.
1010

1111
Ze względu na fakt, że w JavaScript jest w zasadzie jedynym powszechnie stosowanym
12-
językiem, któy posiada prototypowy model dziedziczenia, to wymaga troche czasu aby
13-
dostosować się do różnic pomiędzy tymi dwoma modelami.
12+
językiem, któy posiada prototypowy model dziedziczenia, dostosowanie się do różnic pomiędzy
13+
tymi dwoma modelami wymaga trochę czasu.
1414

1515
Pierwszą znaczącą różnicą jest to, że dziedziczenie w JavaScript odbywa się za pomocą
1616
tak zwanych *łańcuchów prototypów*.
1717

18-
> **Uwaga:** Używanie po prosstu `Bar.prototype = Foo.prototype` spowoduje, że oba obiekty
19-
> będą korzystały z **tego samego** prototypu. W związku z tym zmiany na prototypie jednego
20-
> obiektu będą również zmieniały prototyp drugiego obiektu, co jest w wiekszości przypadków
18+
> **Uwaga:** Używanie po prostu `Bar.prototype = Foo.prototype` spowoduje, że oba obiekty
19+
> będą korzystały z **tego samego** prototypu. W związku z tym zmiany w prototypie jednego
20+
> obiektu będą również zmieniały prototyp drugiego obiektu, co jest ,w wiekszości przypadków,
2121
> niepożądanym efektem.
2222
2323
function Foo() {
@@ -47,25 +47,25 @@ tak zwanych *łańcuchów prototypów*.
4747
Object.prototype
4848
{ toString: ... /* etc. */ }
4949

50-
W powyższym przykładzie obiekt `test` będzie dziedziczył z obydwu tj.
50+
W powyższym przykładzie obiekt `test` będzie dziedziczył z obydwu, tj.
5151
`Bar.prototyp` i `Foo.prototyp`, stąd będzie miał dostęp do funkcji `method`,
5252
która była zdefiniowana w `Foo`. Ponadto obiekt będzie miał dostęp do
5353
właściwości `value`, która jest jednyną instancją `Foo` i stała się jego prototypem.
54-
Ważne jest, aby pamiętać `new Bar` **nie** tworzy nowej instancji `Foo`,
55-
ale wykorzystuje instancje, którą jest przypisana do własności `prototype`.
54+
Należy pamiętać, że `new Bar` **nie** tworzy nowej instancji `Foo`,
55+
tylko wykorzystuje instancję, która jest przypisana do własności `prototype`.
5656
Zatem Wszystkie instancje `Bar` będą dzieliły tą samą własność `value`.
5757

5858
> **Uwaga:** **Nie** należy używać konstrukcji `Bar.prototype = Foo`,
59-
> ponieważ nie spowoduje ona przypisania prototypu `Foo` a raczej obiektu
59+
> ponieważ nie spowoduje ona przypisania prototypu `Foo` tylko obiektu
6060
> funckji `Foo`. Zatem łańcuch prototypów nie bedzie zawierał `Foo.prototype`,
61-
> ale `Function.prototype`, więc metoda `method` nie będzie w łańcuchu prototypów.
61+
> tylko `Function.prototype`, więc metoda `method` nie będzie w łańcuchu prototypów.
6262
6363
### Wyszukiwanie własności
6464

65-
Podczas dostępu do właściwości obiektu, JavaScript przejdzie w górę łańcucha
66-
prototypów dopóki nie znajdzie właściwości z żądaną nazwą.
65+
Podczas dostępu do właściwości obiektu JavaScript przejdzie w górę łańcucha
66+
prototypów, dopóki nie znajdzie właściwości bez nazwy.
6767

68-
Gdy przeszukiwanie dotrze do końca (szczytu) łańcucha mianowicie `Object.prototype`
68+
Gdy przeszukiwanie dotrze do końca (szczytu) łańcucha, mianowicie `Object.prototype`
6969
i nadal nie znajdzie określonej właściwości, to zwróci wartość
7070
[undefined](#core.undefined).
7171

@@ -85,31 +85,31 @@ na dynamiczne tworzenie łańcuchów prototypów.
8585

8686
Czas wyszukiwania właściwości, które są na końcu łańcucha prototypów może mieć
8787
negatywny wpływ na wydajność krytycznych części kodu. Dodatkowo, próba dostępu
88-
do nieistniejącej właściwości powoduje zawsze przeszukanie całego łańcucha prototypów.
88+
do nieistniejącej właściwości zawsze spowoduje przeszukanie całego łańcucha prototypów.
8989

90-
Również, podczas [iteracji](#object.forinloop) po właściwościach obiektu
91-
**każda** właściwość, która znajduje się w łańcuchu prototypów niezależnie
92-
na jakim znajduje się poziomie zostanie wyliczona.
90+
Również podczas [iteracji](#object.forinloop) po właściwościach obiektu
91+
**każda** właściwość, która znajduje się w łańcuchu prototypów (niezależnie
92+
na jakim znajduje się poziomie) zostanie wyliczona.
9393

9494
### Rozszerzanie natywnych prototypów
9595

9696
Rozszerzanie `Object.prototype` lub innego prototypu wbudowanych typów jest jednym z
97-
najczęściej używanych niedoskonałej częsci języka JavaScript.
97+
najczęściej nadużywanej częsci języka JavaScript.
9898

9999
Technika ta nazywana jest [monkey patching][1] i łamie zasady *enkapsulacji*.
100-
Jednak jest szeroko rozpowszechniona w frameworkach takich jak [Prototype][2].
101-
Nie ma jednak dobrego powodu, aby zaśmiecać wbudowane typy poprzez dodawanie do nich
102-
*niestandardowych* funkcjonalności.
100+
Mimo to jest szeroko rozpowszechniona w frameworkach takich jak [Prototype][2].
101+
Nie ma jednak dobrego powodu, aby zaśmiecać wbudowane typy poprzez wzbogacanie ich o
102+
*niestandardowe* funkcjonalności.
103103

104104
**Jedynym** dobrym powodem do rozszerzania wbudowanych prototypów jest portowanie
105-
funkcjonalności znajdujących sie w nowszych silnikach JavaScript np. [`Array.forEach`][3]
105+
funkcjonalności znajdujących sie w nowszych silnikach JavaScript, np. [`Array.forEach`][3]
106106

107107
### Wnioski
108108

109-
Zanim przystąpi się do pisania skomplikowanego kodu korzystającego z dziedziczanie
110-
należy **całkowicie** rozumieć prototypowy model dziedziczenia. Ponadto należy uważać
111-
na długość łańcucha prototypów i w razie potrzeby zmniejszać ilość dziedziczeń
112-
aby uniknąć problemów z wydajnością. Natywne prototypy nie powinny **nigdy** być
109+
Zanim przystąpi się do pisania skomplikowanego kodu korzystającego z dziedziczania,
110+
należy **całkowicie** zrozumieć prototypowy model dziedziczenia. Ponadto trzeba uważać
111+
na długość łańcucha prototypów i w razie potrzeby zmniejszać ilość dziedziczeń,
112+
aby uniknąć problemów z wydajnością. Natywne prototypy **nigdy** nie powinny być
113113
rozszerzane, chyba że ze względu na wprowadzanie kompatybilności z nowszymi silnikami
114114
JavaScript.
115115

0 commit comments

Comments
 (0)