この翻訳は不完全です。英語から この記事を翻訳 してください。
JavaScript 1.8.5 は、Firefox4 に含まれる JavaScript のバージョンです。
新たな機能
機能 | 特徴 |
---|---|
Object.create |
指定されたプロトタイプオブジェクトおよびプロパティに基づくオブジェクトを生成します。バグ 492840 |
Object.defineProperty |
指定された記述に基づいた名称のプロパティを、オブジェクトに追加します。 |
Object.defineProperties |
指定された記述に基づく複数のプロパティを、オブジェクトに追加します。 |
Object.getOwnPropertyDescriptor |
オブジェクトの指定された名前のプロパティの詳細を返します。バグ 505587 |
Object.keys |
オブジェクトのすべての列挙可能 (enumerable )なプロパティを配列の形式で返します。 バグ 307791 |
Object.getOwnPropertyNames |
オブジェクトのすべてのプロパティを列挙可能の如何に関わらず (enumerable and non-enumerable)配列として返します。 バグ 518663 |
Object.preventExtensions |
オブジェクトのいかなる拡張 (extensions)も禁止します。バグ 492849 |
Object.isExtensible |
オブジェクトが拡張可能かどうかを判断します。バグ 492849 |
Object.seal |
オブジェクトのプロパティが他のコードにより削除されるのを禁止(封印 (seal))します。バグ 492845 |
Object.isSealed |
オブジェクトが封印されている (sealed)かどうかを判断します。バグ 492845 |
Object.freeze |
オブジェクトを凍結 (Freeze)します。これにより、いかなるコードも凍結されたオブジェクトのプロパティの削除または変更ができなくなります。バグ 492844 |
Object.isFrozen |
オブジェクトが凍結されているかどうかを判断します。バグ 492844 |
Array.isArray |
与えられた変数が配列であるかどうかを調べます。バグ 510537 |
Date.toJSON |
Dateオブジェクトを、JSON形式の文字列として返します。 |
Function.prototype.bind |
このメソッドが呼び出された際に与えられたコンテクスト(および引数)で、このメソッドを呼び出した関数自体を呼び出す、新しい関数を作成します。バグ 429507 |
ECMAScript5 における新たな特徴
get
およびset
演算子は現在、数値型または文字列型の識別子を設定することができます。 バグ 520696Function.apply()
が引数として、配列の代わりに、配列に似たオブジェクトを設定できるようになりました。- strict モードのサポート
Array.toString()
を配列以外のオブジェクトで呼び出した場合、join()
メソッドが有効な場合はjoin()
メソッドを呼び出した結果を返し、そうでない場合はオブジェクトのtoString()
メソッドを呼び出した結果を返すように変更されました。
その他の標準化作業
ゲッターおよびセッターを定義する、複数の非標準な構文削除されました。ECMAScript 5で定義された構文は変更されていません。非常に難解かつ使用されているケースは稀な構文です。万が一、影響を被る場合、詳細はこのブログポストを参照してください。
新たなオブジェクト
オブジェクト | 詳細 |
---|---|
Proxy |
JavaScript でのメタプログラミングを可能する、Object および Function のプロキシの作成のサポートが提供されます。 |
グローバルオブジェクトの変更
- Date オブジェクトの ISO 8061 のサポート
Date
オブジェクトのparse()
メソッドは、シンプルなISO 8601形式の日付文字列をサポートします。- グローバルオブジェクトが読み取り専用となる
NaN
、Infinity
、およびundefined
グローバルオブジェクトはECMAScript 5仕様に基づき、読み取り専用となりました。
さらなる変更
obj.__parent__
およびobj.__count__
は廃止されました。廃止理由についてのいくつかの情報は以下を参照してください: SpiderMonkey change du jour: the special __parent__ property has been removed バグ 551529 & バグ 552560JSON.parse()
において、末尾のカンマは許容されません。
JavaScript (SpiderMonkey) API の変更
註: JSLocaleCallbacks 構造体において規定されているロケールコールバックは、渡されたメモリバッファを解放しません。このバッファは SpiderMonkey ランタイムによって管理されます。
JS_NewString()
関数は SpiderMonkey 1.8.5 で削除されました。代わりに JS_NewStringCopyN()
を使用してください。