aboutsummaryrefslogtreecommitdiff
path: root/files/pl/conflicting/web/javascript/reference/global_objects/object/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/pl/conflicting/web/javascript/reference/global_objects/object/index.html')
-rw-r--r--files/pl/conflicting/web/javascript/reference/global_objects/object/index.html219
1 files changed, 219 insertions, 0 deletions
diff --git a/files/pl/conflicting/web/javascript/reference/global_objects/object/index.html b/files/pl/conflicting/web/javascript/reference/global_objects/object/index.html
new file mode 100644
index 0000000000..85fbee9f9b
--- /dev/null
+++ b/files/pl/conflicting/web/javascript/reference/global_objects/object/index.html
@@ -0,0 +1,219 @@
+---
+title: Object.prototype
+slug: Web/JavaScript/Referencje/Obiekty/Object/prototype
+tags:
+ - JavaScript
+ - Obiekt
+ - Object
+ - Property
+ - Prototype
+translation_of: Web/JavaScript/Reference/Global_Objects/Object
+translation_of_original: Web/JavaScript/Reference/Global_Objects/Object/prototype
+---
+<p>{{JSRef}}</p>
+
+<p><code style="font-style: normal;"><strong>Object.prototype</strong></code> reprezentuje prototyp obiektów klasy {{jsxref("Object")}}.</p>
+
+<h2 id="Podsumowanie" name="Podsumowanie">Podsumowanie</h2>
+
+<p>Wszystkie obiekty w języku JavaScript wywodzą się od {{jsxref("Object")}}; wszystkie obiekty dziedziczą metody i pola po <code>Object.prototype,</code> chociaż mogą one zostać przeciążone (z wyjątkiem <code>Object</code>'u o prototypie <code>null</code>, tj. <code>Object.create(null)</code>). Na przykład, prototypy innych konstruktorów przeciążają pole <code>constructor</code> i zapewniają swoje własne wersje metod {{jsxref("Object.prototype.toString()", "toString()")}}. Zmiany do prototypu <code>Object</code> propagowane są do wszystkich obiektów, chyba że dane metody i pola zostały przeciążone w prototypie którejś z klas bazowych.</p>
+
+<h2 id="W.C5.82asno.C5.9Bci" name="W.C5.82asno.C5.9Bci">Własności</h2>
+
+<dl>
+ <dt>{{jsxref("Object.prototype.constructor")}}</dt>
+ <dd>Określa konstruktor obiektu - funkcję, która tworzy prototyp obiektu.</dd>
+ <dt>{{jsxref("Object.prototype.__proto__")}} {{non-standard_inline}}</dt>
+ <dd>Wskazuje na obiekt który był użyty jako prototyp, kiedy dany obiekt był inicjalizowany.</dd>
+ <dt>{{jsxref("Object.prototype.__noSuchMethod__")}} {{non-standard_inline}}</dt>
+ <dd>Pozwala zdefiniować funkcję, która będzie wykonana kiedy niezdefiniowany element obiektu zostanie wywołany jako metoda.</dd>
+ <dt><s class="obsoleteElement">{{jsxref("Object.prototype.__count__")}} {{obsolete_inline}}</s></dt>
+ <dd><s class="obsoleteElement">Własność zwracała liczbę właściwości tzw. enumerable posiadanych przez zdefiniowany przez użytkownika obiekt. Własność ta została usunięta.</s></dd>
+ <dt><s class="obsoleteElement">{{jsxref("Object.prototype.__parent__")}} {{obsolete_inline}}</s></dt>
+ <dd><s class="obsoleteElement">Była używana do wskazywania kontwkstu obiektu.</s><span class="obsoleteElement" style="opacity: 0.3;"> Własność ta została usunięta.</span></dd>
+</dl>
+
+<h2 id="Metody" name="Metody">Metody</h2>
+
+<dl>
+ <dt>{{jsxref("Object.prototype.__defineGetter__()")}} {{non-standard_inline}} {{deprecated_inline}}</dt>
+ <dd>Przypisuje funkcję do pola, do którego odwołanie wywoła tę funkcję, która zwróci odpowiednią wartość.</dd>
+ <dt>{{jsxref("Object.prototype.__defineSetter__()")}} {{non-standard_inline}} {{deprecated_inline}}</dt>
+ <dd>Przypisuje funkcję do pola, którego ustawienie wywoła tę funkcję, która zmodyfikuje wartość pola.</dd>
+ <dt>{{jsxref("Object.prototype.__lookupGetter__()")}} {{non-standard_inline}} {{deprecated_inline}}</dt>
+ <dd>Zwraca funkcję powiązaną z danym polem poprzez metodę {{jsxref("Object.defineGetter", "__defineGetter__")}}.</dd>
+ <dt>{{jsxref("Object.prototype.__lookupSetter__()")}} {{non-standard_inline}} {{deprecated_inline}}</dt>
+ <dd>Zwraca funkcję powiązaną z danym polem poprzez metodę {{jsxref("Object.defineSetter", "__defineSetter__")}}.</dd>
+ <dt>{{jsxref("Object.prototype.hasOwnProperty()")}}</dt>
+ <dd>Zwraca wartość boolean wskazującą czy obiekt posiada dane pole (wykluczając przypadki, gdy pole jest odziedziczone).</dd>
+ <dt>{{jsxref("Object.prototype.isPrototypeOf()")}}</dt>
+ <dd>Zwraca wartość boolean wskazującą czy dany obiekt znajduje się w łańcuchu prototypów obiektu podanego jako parametr funkcji.</dd>
+ <dt>{{jsxref("Object.prototype.propertyIsEnumerable()")}}</dt>
+ <dd>Zwraca wartość boolean wskazującą czy ustawiony jest atrybut <a href="/en-US/docs/ECMAScript_DontEnum_attribute" title="ECMAScript_DontEnum_attribute">ECMAScript DontEnum attribute</a>.</dd>
+ <dt>{{jsxref("Object.prototype.toSource()")}} {{non-standard_inline}}</dt>
+ <dd>Zwraca literał obiektowy reprezentujący dany obiekt; można go użyć do utworzenia nowego obiektu.</dd>
+ <dt>{{jsxref("Object.prototype.toLocaleString()")}}</dt>
+ <dd>Wywołuje {{jsxref("Object.toString", "toString()")}}.</dd>
+ <dt>{{jsxref("Object.prototype.toString()")}}</dt>
+ <dd>Zwraca łańcuch znaków reprezentujący dany obiekt.</dd>
+ <dt>{{jsxref("Object.prototype.unwatch()")}} {{non-standard_inline}}</dt>
+ <dd>Usuwa funkcję monitorującą daną własność obiektu.</dd>
+ <dt>{{jsxref("Object.prototype.valueOf()")}}</dt>
+ <dd>Zwraca wartość prostą danego obiektu.</dd>
+ <dt>{{jsxref("Object.prototype.watch()")}} {{non-standard_inline}}</dt>
+ <dd>Dodaje funkcję monitorującą daną własność obiektu.</dd>
+ <dt><s class="obsoleteElement">{{jsxref("Object.prototype.eval()")}} {{obsolete_inline}}</s></dt>
+ <dd><s class="obsoleteElement">Wykonuje kod JavaScriptu zawarty w łańcuchu znaków w kontekście danego obiektu.</s></dd>
+</dl>
+
+<h2 id="Przykłady">Przykłady</h2>
+
+<p>Jako, iż JavaScript nie posiada typowego rozróżnienia na klasę bazową i dziedziczącą,  prototype jest przydatnym obejściem pozwalającym na utworzenie “klasy bazowej” z pewnych funkcji, które działają jak obiekty. Na przykład:</p>
+
+<pre class="brush: js">var Osoba = function() {
+ this.umieMowic = true;
+};
+
+Osoba.prototype.powitaj = function() {
+ if (this.umieMowic) {
+ console.log('Hej, jestem ' + this.imie);
+ }
+};
+
+var Pracownik = function(imie, tytul) {
+ Osoba.call(this);
+ this.imie = imie;
+ this.tytul = tytul;
+};
+
+Pracownik.prototype = Object.create(Osoba.prototype);
+Pracownik.prototype.constructor = Pracownik;
+
+Pracownik.prototype.powitaj = function() {
+ if (this.umieMowic) {
+ console.log('Hej, jestem ' + this.imie + ', ' + this.tytul);
+ }
+};
+
+var Klient = function(imie) {
+ Osoba.call(this);
+ this.imie = imie;
+};
+
+Klient.prototype = Object.create(Osoba.prototype);
+Klient.prototype.constructor = Klient;
+
+var Mim = function(imie) {
+ Osoba.call(this);
+ this.imie = imie;
+ this.umieMowic = false;
+};
+
+Mim.prototype = Object.create(Osoba.prototype);
+Mim.prototype.constructor = Mim;
+
+var bob = new Pracownik('Bob', 'Builder');
+var joe = new Klient('Joe');
+var rg = new Pracownik('Red Green', 'Handyman');
+var mike = new Klient('Mike');
+var mim = new Mim('Mim');
+
+bob.powitaj();
+// Hej, jestem Bob, Builder
+
+joe.powitaj();
+// Hej, jestem Joe
+
+rg.powitaj();
+// Hej, jestem Red Green, Handyman
+
+mike.powitaj();
+// Hej, jestem Mike
+
+mim.powitaj();
+</pre>
+
+<h2 id="Specyfikacje">Specyfikacje</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Specyfikacja</th>
+ <th scope="col">Status</th>
+ <th scope="col">Komentarz</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES1')}}</td>
+ <td>{{Spec2('ES1')}}</td>
+ <td>Początkowa definicja. Zaimplementowano w JavaScript 1.0.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES5.1', '#sec-15.2.3.1', 'Object.prototype')}}</td>
+ <td>{{Spec2('ES5.1')}}</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-object.prototype', 'Object.prototype')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Kompatybilność">Kompatybilność</h2>
+
+<div>{{CompatibilityTable}}</div>
+
+<div id="compat-desktop">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Feature</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Basic support</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="compat-mobile">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Feature</th>
+ <th>Android</th>
+ <th>Chrome for Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Basic support</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<h2 id="Zobacz_też">Zobacz też</h2>
+
+<ul>
+ <li><a href="/en-US/docs/Web/JavaScript/Introduction_to_Object-Oriented_JavaScript">Introduction to Object-Oriented JavaScript</a></li>
+</ul>