Skip to content

Commit cec745d

Browse files
authored
translated
1 parent c27d811 commit cec745d

File tree

1 file changed

+18
-17
lines changed

1 file changed

+18
-17
lines changed

1-js/04-object-basics/04-object-methods/article.md

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ user.sayHi(); // Cześć!
6161
```
6262

6363
```smart header="Object-oriented programming"
64-
Kiedy piszemy kod wykorzystujący obiekty do reprezentowania podmiotów, nazywamy to[programowaniem obiektowym](https://pl.wikipedia.org/wiki/Programowanie_obiektowe), w skrócie:
64+
Kiedy piszemy kod wykorzystujący obiekty do reprezentowania podmiotów, nazywamy to [programowaniem obiektowym](https://pl.wikipedia.org/wiki/Programowanie_obiektowe), w skrócie:
6565
"OOP".
6666
6767
OOP to bardzo rozległy i interesujący temat. Jak wybrać właściwe podmioty? Jak stworzyć zależności między nimi? Jest to cała architektura i istnieje wiele świetnych książek traktujących ten temat, jak np. "Wzorce projektowe. Elementy oprogramowania" autorstwa E.Gamma, R.Helm, R.Johnson, J.Vissides, lub "Object-Oriented Analysis and Design with Applications" G.Booch, i wiele innych
@@ -126,7 +126,7 @@ Podczas wykonania `user.sayHi()`, wartością `this` będzie `user`.
126126

127127
Możliwe jest również uzyskanie dostępu do obiektu bez używania `this`, przez odwołąnie się do niego przez zmienną z zewnątrz:
128128

129-
```js
129+
```js run
130130
let user = {
131131
name: "John",
132132
age: 30,
@@ -161,7 +161,7 @@ let user = {
161161
let admin = user;
162162
user = null; // dla pewności nadpisujemy zmienną
163163

164-
admin.sayHi(); // Ups! wewnątrz sayHi(), wykorzystywana jest zła zmienna! błąd!
164+
admin.sayHi(); // Ups! wewnątrz sayHi(), wykorzystywana jest zła zmienna! Błąd!
165165
```
166166

167167
Jeśli użylibyśmy `this.name` zamiast `user.name` wewnątrz `alert`, wtedy kod by zadziałał.
@@ -206,7 +206,8 @@ admin['f'](); // Admin (kropka lub nawiasy kwadratowe udzielają dostępu do met
206206

207207
Zasada jest prosta: jeśli `obj.f()` jest wywołana, to `this` jest `obj` podczas wywoływania `f`. Więc w powyższym przykładzie jest to zarówno `user` lub `admin`.
208208

209-
````smart header="Calling without an object: `this == undefined`"
209+
210+
````smart header="Calling without an object: `this` == undefined"
210211
Możemy wywołać tę funkcję nawet bez obiektu:
211212

212213
```js run
@@ -328,11 +329,11 @@ Każda inna operacja, jak przypisanie `hi = user.hi` odrzuca całkowicie Typ Ref
328329
329330
Podsumowując, wartość `this` jest przekazywane we właściwy sposób jeśli funkcja jest wywoływana za pomocą kropki `obj.method()` lub nawiasów kwadratowych `obj[`method`]()` (obie składnie zadziałają tutaj identycznie). W dalszej części kursu, nauczymy się różnych możliwości aby rozwiązać ten problem, takich jak [func.bind()](/bind#solution-2-bind).
330331
331-
## Arrow functions have no "this"
332+
## Funkcje strzałkowe nie mają "this"
332333
333-
Arrow functions are special: they don't have their "own" `this`. If we reference `this` from such a function, it's taken from the outer "normal" function.
334+
Funkcje strzałkowe są specjalnym typem funkcji: nie posiadają "własnego" `this`. Jeśli odnosimy się do `this` w takiej funkcji, jego wartość jest pobierana z zewnętrznej "normalnej" funkcji.
334335
335-
For instance, here `arrow()` uses `this` from the outer `user.sayHi()` method:
336+
W poniższym przykładzie `arrow()` używa `this` z zewnętrznej metody `user.sayHi()`:
336337
337338
```js run
338339
let user = {
@@ -346,18 +347,18 @@ let user = {
346347
user.sayHi(); // Ilya
347348
```
348349
349-
That's a special feature of arrow functions, it's useful when we actually do not want to have a separate `this`, but rather to take it from the outer context. Later in the chapter <info:arrow-functions> we'll go more deeply into arrow functions.
350+
Jest to specjalna właściwość funkcji strzalkowych, są użyteczne gdy nie chcemy mieć osobnego `this`, tylko wolimy je pobrać z zewnątrz. W późniejszym rozdziale <info:arrow-functions> zagłębimy się bardziej w to czym są funkcje strzałkowe.
350351
351352
352-
## Summary
353+
## Podsumowanie
353354
354-
- Functions that are stored in object properties are called "methods".
355-
- Methods allow objects to "act" like `object.doSomething()`.
356-
- Methods can reference the object as `this`.
355+
- Funkcje które są przechowywane w obiekcie nazywamy "metodami".
356+
- Metody pozwalają obiektom "zachowywać się" w sposób `object.zróbCoś()`
357+
- Metody mają referencje do swojego obiektu, jest to wartość ich `this`
357358
358-
The value of `this` is defined at run-time.
359-
- When a function is declared, it may use `this`, but that `this` has no value until the function is called.
360-
- A function can be copied between objects.
361-
- When a function is called in the "method" syntax: `object.method()`, the value of `this` during the call is `object`.
359+
Wartość `this` jest określana podczas wykonhwania kodu.
360+
- Kiedy funkcja jest deklarowana, może ona użyć `this`, z tym że nie będzie ono miało wartości tak długo aż funkcja zostanie wywyłana.
361+
- Jedna funkcja może być użwana jako metoda przez kilka obiektów.
362+
- Kiedy funkcja jest wykonywana za pomocą składni: `object.method()`, `this` podczas wykonywania przybierze wartość `object`.
362363
363-
Please note that arrow functions are special: they have no `this`. When `this` is accessed inside an arrow function, it is taken from outside.
364+
Zapamiętaj że funkcje strzałkowe są specjalnym typem funkcji: nie posiadają `this`. Kiedy chcemy uzyskać dostęp do `this` wewnątrz funkcji strzałkowej, wartość jest brana z zewnątrz.

0 commit comments

Comments
 (0)