aboutsummaryrefslogtreecommitdiff
path: root/files/pl/web/javascript/referencje/obiekty/object/index.html
blob: 88ed5060cbc8e237d4b01226bb86b5ee420b5435 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
---
title: Object
slug: Web/JavaScript/Referencje/Obiekty/Object
tags:
  - JavaScript
translation_of: Web/JavaScript/Reference/Global_Objects/Object
---
<div>{{JSRef}}</div>

<p>Konstruktor <strong>Object</strong> tworzy wrapper obiektu.</p>

<h2 id="Tworzony_przez" name="Tworzony_przez">Składnia</h2>

<pre class="syntaxbox"><code>// Notacja literałowa
{ [ <var>paraWartoscNazwa1</var>[, <var>paraWartoscNazwa2</var>[, ...<var>paraWartoscNazwaN</var>] ] ] }

// Wywoływany jako konstruktor
new Object([<var>wartosc</var>])</code></pre>

<h3 id="Parametry" name="Parametry">Parametry</h3>

<dl>
 <dt><code><var>paraWartoscNazwa1</var>, <var>paraWartoscNazwa2</var>, ... <var>paraWartoscNazwaN</var></code></dt>
 <dd>Pary nazw (string) oraz wartości (jakakolwiek wartość) przyczym nazwa oddzielona jest od wartości dwukropkiem.</dd>
 <dt><code><var>wartosc</var></code></dt>
 <dd>Jakakolwiek wartość.</dd>
</dl>

<h2 id="Opis">Opis</h2>

<p>Kostruktor obiektu tworzy wrapper dla danej wartości. Jeżeli podana wartość to {{jsxref("null")}} albo {{jsxref("undefined")}}, konstruktor stworzy i zwróci pusty obiekt. W przeciwnym razie stworzy i zwróci obiekt o takim samym typie jak podana wartość. Jeżeli podana wartość jest obiektem to konstruktor zwróci ten właśnie obiekt.</p>

<p>Zobacz również <a href="https://developer.mozilla.org/pl/docs/Web/JavaScript/Referencje/Operatory/Object_initializer">Inicjator obiektu / notacja literałowa</a>.</p>

<h2 id="W.C5.82asno.C5.9Bci" name="W.C5.82asno.C5.9Bci">Właściwości</h2>

<dl>
 <dt><code>Object.length</code></dt>
 <dd>Przyjmuje wartość 1.</dd>
 <dt>{{jsxref("Object.prototype")}}</dt>
 <dd>Pozwala na dodawanie właściwości i metod do wszystkich obiektów typu Object.</dd>
</dl>

<h2 id="Metody" name="Metody">Metody</h2>

<dl>
 <dt>{{jsxref("Object.assign()")}}</dt>
 <dd>Kopiuje wszystkie <strong>własne </strong>właściwości z jednego lub więcej obiektów żródłowych do obiektu docelowego.</dd>
 <dt>{{jsxref("Object.create()")}}</dt>
 <dd>Tworzy nowy obiekt z podanym prototypem oraz właściwościami</dd>
 <dt>{{jsxref("Object.defineProperty()")}}</dt>
 <dd>Dodaje do obiektu wymienioną właściwość opisywaną przez podany deskryptor.</dd>
 <dt>{{jsxref("Object.defineProperties()")}}</dt>
 <dd>Dodaje do obiektu wymienione właściwości opisywane przez podane deskryptory.</dd>
 <dt>{{jsxref("Object.freeze()")}}</dt>
 <dd>Zamraża obiekt. Uniemożliwia usuwanie oraz modyfikowanie jego właściwości.</dd>
 <dt>{{jsxref("Object.getOwnPropertyDescriptor()")}}</dt>
 <dd>Zwraca z obiektu deskryptor dla wymienionej właściwości. </dd>
 <dt>{{jsxref("Object.getOwnPropertyNames()")}}</dt>
 <dd>Zwraca tablicę zawierającą nazwy wszystkich <strong>własnych</strong> właściwości obiektu. (Zarówno przeliczalnych jak i nieprzeliczalnych)</dd>
 <dt>{{jsxref("Object.getOwnPropertySymbols()")}}</dt>
 <dd>Zwraca tablicę zawierającą wszystkie <strong>własne</strong> właściwości-symbole danego obiektu</dd>
 <dt>{{jsxref("Object.getPrototypeOf()")}}</dt>
 <dd>Zwraca prototyp określonego obiektu.</dd>
 <dt>{{jsxref("Object.is()")}}</dt>
 <dd>Sprawdza czy dwie podane wartości są takie same.</dd>
 <dt>{{jsxref("Object.isExtensible()")}}</dt>
 <dd>Sprawdza czy obiekt można rozszerzyć.</dd>
 <dt>{{jsxref("Object.isFrozen()")}}</dt>
 <dd>Sprawdza czy obiekt jest zamrożony.</dd>
 <dt>{{jsxref("Object.isSealed()")}}</dt>
 <dd>Sprawdza czy obiekt jest zapieczętowany.</dd>
 <dt>{{jsxref("Object.keys()")}}</dt>
 <dd>Zwraca tablicę zawierającą nazwy wszystkich <strong>własnych</strong> właściwości obiektu. (Tylko przeliczalnych)</dd>
 <dt>{{jsxref("Object.preventExtensions()")}}</dt>
 <dd>Zabopiega rozszerzaniu obiektu (tj. dodawaniu właściwości).</dd>
 <dt>{{jsxref("Object.seal()")}}</dt>
 <dd>Zapieczętowuje obiekt, zapobiegając dodawaniu oraz usuwaniu jego właściwości.</dd>
 <dt>{{jsxref("Object.setPrototypeOf()")}}</dt>
 <dd>Ustawia prototyp obiektu.</dd>
 <dt>{{jsxref("Object.values()")}} {{experimental_inline}}</dt>
 <dd>Zwraca tablicę zawierającą wszystkie <strong>własne</strong>, przeliczalne wartości obiektu.</dd>
</dl>

<h2 id="Instancje_i_prototyp_Object">Instancje i prototyp <code>Object</code></h2>

<p>W Javascript, wsyzstkie obiekty pochodzą od obiektu <code>Object</code>, tymsamym dziedziczą metody i właściwości z {{jsxref("Object.prototype")}}, jednak mogą być one nadpisane. Na przykład, prototypy innych konstruktorów nadpisują właściwość <code>constructor</code> oraz metody <code>toString</code><code>()</code>. Wszelkie zmiany w prototypie <code>Object</code> są przekazywane do wszystkich obiektów, chyba że właściwości lub metody do których zmiany się odnośiły zostały gdzieś po drodze nadpisane.</p>

<h3 id="Właściwości">Właściwości</h3>

<div>{{page('/pl/docs/Web/JavaScript/Referencje/Obiekty/Object/prototype', 'W.C5.82asno.C5.9Bci') }}</div>

<h3 id="Metody_2">Metody</h3>

<div>{{page('/pl/docs/Web/JavaScript/Referencje/Obiekty/Object/prototype', 'Metody') }}</div>

<h2 id="Przykłady">Przykłady</h2>

<h3 id="Używanie_typów_null_i_undefined">Używanie <font face="Consolas, Liberation Mono, Courier, monospace">typów</font> <code>null</code> i <code>undefined</code></h3>

<p>W poniższych przykładach zmienna o przechowuje pusty obiekt <code>Object</code>:</p>

<pre class="brush: js">var o = new Object();
</pre>

<pre class="brush: js">var o = new Object(undefined);
</pre>

<pre class="brush: js">var o = new Object(null);
</pre>

<h3 id="Tworzenie_obiektu_Boolean">Tworzenie obiektu <code>Boolean</code></h3>

<p>W poniższych przykładach zmienna o przechowuje obiekty {{jsxref("Boolean")}}:</p>

<pre class="brush: js">// równoznaczne z: o = new Boolean(true);
var o = new Object(true);
</pre>

<pre class="brush: js">// równoznaczne z: o = new Boolean(false);
var o = new Object(Boolean());
</pre>

<h2 id="Specyfikacje">Specyfikacje</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <th scope="col">Specification</th>
   <th scope="col">Status</th>
   <th scope="col">Comment</th>
  </tr>
  <tr>
   <td>{{SpecName('ES1')}}</td>
   <td>{{Spec2('ES1')}}</td>
   <td>Początkowa definicja. Zaimplementowana w JavaScript 1.0.</td>
  </tr>
  <tr>
   <td>{{SpecName('ES5.1', '#sec-15.2', 'Object')}}</td>
   <td>{{Spec2('ES5.1')}}</td>
   <td> </td>
  </tr>
  <tr>
   <td>{{SpecName('ES6', '#sec-object-objects', 'Object')}}</td>
   <td>{{Spec2('ES6')}}</td>
   <td>Dodano Object.assign, Object.getOwnPropertySymbols, Object.setPrototypeOf, Object.is</td>
  </tr>
  <tr>
   <td>{{SpecName('ESDraft', '#sec-object-objects', 'Object')}}</td>
   <td>{{Spec2('ESDraft')}}</td>
   <td>Dodano Object.entries, Object.values oraz Object.getOwnPropertyDescriptors.</td>
  </tr>
 </tbody>
</table>

<h2 id="Kompatybilność_z_przeglądarką">Kompatybilność z przeglądarką</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_także">Zobacz także</h2>

<ul>
 <li><a href="/pl/docs/Web/JavaScript/Referencje/Operatory/Object_initializer">Inicjalizator obiektu</a></li>
</ul>