aboutsummaryrefslogtreecommitdiff
path: root/files/ja/web/javascript/new_in_javascript/1.8.5/index.html
blob: 5cc0deb9dc973b0a1c0843b8d4848dc855cedabe (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
---
title: JavaScript 1.8.5 の新機能
slug: Web/JavaScript/New_in_JavaScript/1.8.5
tags:
  - ECMAScript5
  - Firefox 4
  - JavaScript
  - JavaScript 1.8.5
  - JavaScript_version_overviews
translation_of: Archive/Web/JavaScript/New_in_JavaScript/1.8.5
---
<div>
<div>{{jsSidebar("New_in_JS")}}</div>
</div>

<p>JavaScript 1.8.5 は、Firefox4 に含まれる JavaScript のバージョンです。</p>

<h2 id="New_functions" name="New_functions">新たな機能</h2>

<table class="standard-table">
 <thead>
  <tr>
   <th scope="col">機能</th>
   <th scope="col">特徴</th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td><code><a href="/ja/docs/JavaScript/Reference/Global_Objects/Object/create" title="JavaScript/Reference/Global Objects/Object/Create">Object.create</a></code></td>
   <td>指定されたプロトタイプオブジェクトおよびプロパティに基づくオブジェクトを生成します。{{bug("492840")}}</td>
  </tr>
  <tr>
   <td><code><a href="/ja/docs/JavaScript/Reference/Global_Objects/Object/defineProperty" title="JavaScript/Reference/Global Objects/Object/DefineProperty">Object.defineProperty</a></code></td>
   <td>指定された記述に基づいた名称のプロパティを、オブジェクトに追加します。</td>
  </tr>
  <tr>
   <td><code><a href="/ja/docs/JavaScript/Reference/Global_Objects/Object/defineProperties" title="JavaScript/Reference/Global Objects/Object/DefineProperties">Object.defineProperties</a></code></td>
   <td>指定された記述に基づく複数のプロパティを、オブジェクトに追加します。</td>
  </tr>
  <tr>
   <td><code><a href="/ja/docs/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDescriptor" title="JavaScript/Reference/Global Objects/Object/GetOwnPropertyDescriptor">Object.getOwnPropertyDescriptor</a></code></td>
   <td>オブジェクトの指定された名前のプロパティの詳細を返します。{{bug("505587")}}</td>
  </tr>
  <tr>
   <td><a href="/ja/docs/JavaScript/Reference/Global_Objects/Object/keys" title="JavaScript/Reference/Global Objects/Object/keys"><code>Object.keys</code></a></td>
   <td>オブジェクトのすべての列挙可能 (enumerable )なプロパティを配列の形式で返します。 {{bug("307791")}}</td>
  </tr>
  <tr>
   <td><a href="/ja/docs/JavaScript/Reference/Global_Objects/Object/getOwnPropertyNames" title="JavaScript/Reference/Global Objects/Object/getOwnPropertyNames"><code>Object.getOwnPropertyNames </code></a></td>
   <td>オブジェクトのすべてのプロパティを列挙可能の如何に関わらず (enumerable and non-enumerable)配列として返します。 {{bug("518663")}}</td>
  </tr>
  <tr>
   <td><a href="/ja/docs/JavaScript/Reference/Global_Objects/Object/preventExtensions" title="JavaScript/Reference/Global Objects/Object/preventExtensions"><code>Object.preventExtensions</code></a></td>
   <td>オブジェクトのいかなる拡張 (extensions)も禁止します。{{bug("492849")}}</td>
  </tr>
  <tr>
   <td><a href="/ja/docs/JavaScript/Reference/Global_Objects/Object/isExtensible" title="JavaScript/Reference/Global Objects/Object/isExtensible"><code>Object.isExtensible</code></a></td>
   <td>
    <p>オブジェクトが拡張可能かどうかを判断します。{{bug("492849")}}</p>
   </td>
  </tr>
  <tr>
   <td><a href="/ja/docs/JavaScript/Reference/Global_Objects/Object/seal" title="JavaScript/Reference/Global Objects/Object/seal"><code>Object.seal</code></a></td>
   <td>オブジェクトのプロパティが他のコードにより削除されるのを禁止(封印 (seal))します。{{bug("492845")}}</td>
  </tr>
  <tr>
   <td><a href="/ja/docs/JavaScript/Reference/Global_Objects/Object/isSealed" title="JavaScript/Reference/Global Objects/Object/isSealed"><code>Object.isSealed</code></a></td>
   <td>オブジェクトが封印されている (sealed)かどうかを判断します。{{bug("492845")}}</td>
  </tr>
  <tr>
   <td><a href="/ja/docs/JavaScript/Reference/Global_Objects/Object/freeze" title="JavaScript/Reference/Global Objects/Object/freezed"><code>Object.freeze</code></a></td>
   <td>オブジェクトを凍結 (Freeze)します。これにより、いかなるコードも凍結されたオブジェクトのプロパティの削除または変更ができなくなります。{{bug("492844")}}</td>
  </tr>
  <tr>
   <td><a href="/ja/docs/JavaScript/Reference/Global_Objects/Object/isFrozen" title="JavaScript/Reference/Global Objects/Object/isFrozen"><code>Object.isFrozen</code></a></td>
   <td>オブジェクトが凍結されているかどうかを判断します。{{bug("492844")}}</td>
  </tr>
  <tr>
   <td><a href="/ja/docs/JavaScript/Reference/Global_Objects/Array/isArray" title="JavaScript/Reference/Global Objects/Array/isArray"><code>Array.isArray </code></a></td>
   <td>与えられた変数が配列であるかどうかを調べます。{{bug("510537")}}</td>
  </tr>
  <tr>
   <td><a href="/ja/docs/JavaScript/Reference/Global_Objects/Date/toJSON" title="JavaScript/Reference/Global Objects/Date/toJSON"><code>Date.toJSON</code></a></td>
   <td>Dateオブジェクトを、JSON形式の文字列として返します。</td>
  </tr>
  <tr>
   <td><a href="/ja/docs/JavaScript/Reference/Global_Objects/Function/bind" title="JavaScript/Reference/Global_Objects/Function/bind"><code>Function.prototype.bind</code></a></td>
   <td>このメソッドが呼び出された際に与えられたコンテクスト(および引数)で、このメソッドを呼び出した関数自体を呼び出す、新しい関数を作成します。{{bug("429507")}}</td>
  </tr>
 </tbody>
</table>

<h2 id="New_ECMAScript5_features" name="New_ECMAScript5_features">ECMAScript5 における新たな特徴</h2>

<ul>
 <li><code><a href="/ja/docs/JavaScript/Reference/Operators/Special/get" title="JavaScript/Reference/Operators/Special Operators/get Operator">get</a></code> および <code><a href="/ja/docs/JavaScript/Reference/Operators/Special/set" title="JavaScript/Reference/Operators/Special Operators/set Operator">set</a></code> 演算子は現在、数値型または文字列型の識別子を設定することができます。 {{bug("520696")}}</li>
 <li><a href="/ja/docs/JavaScript/Reference/Global_Objects/Function/apply" title="JavaScript/Reference/Global Objects/Function/apply"><code>Function.apply()</code></a> が引数として、配列の代わりに、配列に似たオブジェクトを設定できるようになりました。</li>
 <li><a href="/ja/docs/JavaScript/Strict_mode" title="JavaScript/Strict mode">strict モードのサポート</a></li>
 <li><a href="/ja/docs/JavaScript/Reference/Global_Objects/Array/toString" title="JavaScript/Reference/Global Objects/Array/toString"><code>Array.toString()</code></a> を配列以外のオブジェクトで呼び出した場合、 <a href="/ja/docs/JavaScript/Reference/Global_Objects/Array/join" title="JavaScript/Reference/Global Objects/Array/join"><code>join()</code></a> メソッドが有効な場合は <a href="/ja/docs/JavaScript/Reference/Global_Objects/Array/join" title="JavaScript/Reference/Global Objects/Array/join"><code>join()</code></a> メソッドを呼び出した結果を返し、そうでない場合はオブジェクトの <a href="/ja/docs/JavaScript/Reference/Global_Objects/Object/toString" title="JavaScript/Reference/Global Objects/Object/toString"><code>toString()</code></a> メソッドを呼び出した結果を返すように変更されました。</li>
</ul>

<h2 id="Other_standardization_work" name="Other_standardization_work">その他の標準化作業</h2>

<p>ゲッターおよびセッターを定義する、複数の非標準な構文削除されました。ECMAScript 5で定義された構文は変更されていません。非常に難解かつ使用されているケースは稀な構文です。万が一、影響を被る場合、詳細はこの<a class="external" href="http://whereswalden.com/2010/04/16/more-spidermonkey-changes-ancient-esoteric-very-rarely-used-syntax-for-creating-getters-and-setters-is-being-removed/" title="http://whereswalden.com/2010/04/16/more-spidermonkey-changes-ancient-esoteric-very-rarely-used-syntax-for-creating-getters-and-setters-is-being-removed/">ブログポスト</a>を参照してください。</p>

<h2 id="New_objects" name="New_objects">新たなオブジェクト</h2>

<table class="standard-table">
 <thead>
  <tr>
   <th scope="col">オブジェクト</th>
   <th scope="col">詳細</th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td><code><a href="/ja/docs/JavaScript/Reference/Global_Objects/Proxy" title="https://developer.mozilla.org/ja/JavaScript/Reference/Global_Objects/Proxy">Proxy</a></code></td>
   <td>JavaScript でのメタプログラミングを可能する、<code>Object</code> および <code>Function</code> のプロキシの作成のサポートが提供されます。</td>
  </tr>
 </tbody>
</table>

<h2 id="Changes_to_global_objects" name="Changes_to_global_objects">グローバルオブジェクトの変更</h2>

<dl>
 <dt>Date オブジェクトの ISO 8061 のサポート</dt>
 <dd><a href="/ja/docs/JavaScript/Reference/Global_Objects/Date" title="https://developer.mozilla.org/ja/JavaScript/Reference/Global_Objects/Date"><code>Date</code></a> オブジェクトの <a href="/ja/docs/JavaScript/Reference/Global_Objects/Date/parse" title="https://developer.mozilla.org/ja/JavaScript/Reference/Global_Objects/Date/parse"><code>parse()</code></a> メソッドは、シンプルなISO 8601形式の日付文字列をサポートします。</dd>
 <dt>グローバルオブジェクトが読み取り専用となる</dt>
 <dd><a href="/ja/docs/JavaScript/Reference/Global_Objects/NaN" title="JavaScript/Reference/Global Objects/NaN"><code>NaN</code></a><a href="/ja/docs/JavaScript/Reference/Global_Objects/Infinity" title="JavaScript/Reference/Global Objects/Infinity"><code>Infinity</code></a> 、および <a href="/ja/docs/JavaScript/Reference/Global_Objects/undefined" title="JavaScript/Reference/Global Objects/undefined"><code>undefined</code></a> グローバルオブジェクトはECMAScript 5仕様に基づき、読み取り専用となりました。</dd>
</dl>

<h2 id="Additional_changes" name="Additional_changes">さらなる変更</h2>

<ul>
 <li><a href="/ja/docs/JavaScript/Reference/Global_Objects/Object/Parent" title="JavaScript/Reference/Global Objects/Object/Parent"><code>obj.__parent__</code></a> および <code>obj.__count__</code> は廃止されました。廃止理由についてのいくつかの情報は以下を参照してください: <a class="external" href="http://whereswalden.com/2010/05/07/spidermonkey-change-du-jour-the-special-__parent__-property-has-been-removed/" title="http://whereswalden.com/2010/05/07/spidermonkey-change-du-jour-the-special-__parent__-property-has-been-removed/">SpiderMonkey change du jour: the special __parent__ property has been removed</a> {{bug("551529")}} &amp; {{bug("552560")}}</li>
 <li><a href="/ja/docs/Using_native_JSON" title="Using native JSON"><code>JSON.parse()</code></a> において、末尾のカンマは許容されません。</li>
</ul>

<h2 id="JavaScript_(SpiderMonkey)_API_changes" name="JavaScript_(SpiderMonkey)_API_changes">JavaScript (SpiderMonkey) API の変更</h2>

<div class="note"><strong>註:</strong> <a href="/ja/docs/JSLocaleCallbacks" title="JSLocaleCallbacks">JSLocaleCallbacks</a> 構造体において規定されているロケールコールバックは、渡されたメモリバッファを解放しません。このバッファは SpiderMonkey ランタイムによって管理されます。</div>

<p><a href="/ja/docs/SpiderMonkey/JSAPI_Reference/JS_NewString" title="SpiderMonkey/JSAPI Reference/JS NewString"><code>JS_NewString()</code></a> 関数は SpiderMonkey 1.8.5 で削除されました。代わりに <a href="/ja/docs/SpiderMonkey/JSAPI_Reference/JS_NewStringCopyN" title="SpiderMonkey/JSAPI Reference/JS NewStringCopyN"><code>JS_NewStringCopyN()</code></a> を使用してください。</p>