Object クラスは JavaScript のデータ型の一つを表します。これは様々なキー付きコレクションとより複雑なエンティティを格納するために使用されます。 Object は Object() コンストラクターまたはオブジェクト初期化子/リテラル構文を使用して生成することができます。
解説
JavaScript のほぼすべてのオブジェクトが Object のインスタンスです。ふつうのオブジェクトは、プロパティを (メソッドを含めて) Object.prototype から継承していますが、これらのプロパティはシャドウ化 (別名オーバーライド) されている場合があります。しかし、意図的にそうではない Object を生成したり (例えば Object.create(null) によって)、変更した結果そうではなくなる場合 (例えば Object.setPrototypeOf) もあります。
Object プロトタイプオブジェクトへの変更は、その変更の対象となるプロパティやメソッドがプロトタイプチェーンに沿ってさらにオーバーライドされない限り、プロトタイプチェーンを通してすべてのオブジェクトに表示されます。これはとても強力ですが、オブジェクトの動作をオーバーライドしたり拡張したりするのは潜在的に危険をはらむ仕組みでもあります。
Object コンストラクターは、指定された値のオブジェクトラッパーを生成します。
- 値が
nullまたはundefinedである場合、空のオブジェクトを生成して返します。 - それ以外の場合は、与えられた値に関連する型のオブジェクトを返します。
- 値がすでにオブジェクトであった場合は、その値を返します。
コンストラクター以外のコンテキストで呼び出された場合、 Object は new Object() と同等に動作します。
オブジェクト初期化子/リテラル構文も参照してください。
コンストラクター
Object()Objectコンストラクターは指定された値のオブジェクトラッパーを生成します。
プロパティ
Object.length1という値を持ちます。Object.prototype- Object 型であるすべてのオブジェクトにプロパティを追加することができます。
メソッド
Object.assign()- 1 個以上のソースオブジェクトから、自身の列挙可能なプロパティの値をすべてターゲットオブジェクトにコピーします。
Object.create()- 指定されたプロトタイプオブジェクトとプロパティから、新しいオブジェクトを生成します。
Object.defineProperty()- 指定された記述子で記述された名前付きプロパティをオブジェクトへ追加します。
Object.defineProperties()- 指定された記述子で記述された複数の名前付きプロパティをオブジェクトへ追加します。
Object.entries()- 指定したオブジェクトの自身の列挙可能な文字列プロパティのすべての
[key, value]ペアを含む配列を返します。 Object.freeze()- オブジェクトを凍結します。他のコードがプロパティを削除したり変更したりすることができなくなります。
Object.fromEntries()- 反復可能な
[key, value]の組から新しいオブジェクトを返します。 (これはObject.entriesの逆です。) Object.getOwnPropertyDescriptor()- オブジェクトの名前付きプロパティに対応するプロパティ記述子を返します。
Object.getOwnPropertyDescriptors()- オブジェクトの自身のすべてのプロパティの記述子を含むオブジェクトを返します。
Object.getOwnPropertyNames()- 指定したオブジェクトの自身の列挙可能および列挙不可なすべてのプロパティの名前を、配列として返します。
Object.getOwnPropertySymbols()- 指定したオブジェクト上に直接存在するすべてのシンボルプロパティからなる配列を返します。
Object.getPrototypeOf()- 指定されたオブジェクトのプロトタイプ (内部の
[[Prototype]]プロパティ) を返します。 Object.is()- 二つの値が同じ値であるかどうかを比較します。
NaN値はすべて同じとして扱われます (抽象的等価比較とも厳密等価比較とも異なります)。 Object.isExtensible()- オブジェクトの拡張が許可されているかどうかを判定します。
Object.isFrozen()- オブジェクトが凍結されているかどうかを判定します。
Object.isSealed()- オブジェクトが封印されているかどうかを判定します。
Object.keys()- 指定されたオブジェクト自身の列挙可能なプロパティの名前をすべて含む配列を返します。
Object.preventExtensions()- オブジェクトに対するあらゆる拡張を禁止します。
Object.seal()- オブジェクトを封印し、オブジェクトのプロパティの削除を禁止します。
Object.setPrototypeOf()- プロトタイプ (内部の
[[Prototype]]プロパティ) を設定します。 Object.values()- 指定したオブジェクトの自身の列挙可能な文字列プロパティのすべてに対応する値を含む配列を返します。
Object インスタンスと Object プロトタイプオブジェクト
JavaScript におけるすべてのオブジェクトは Object に由来します。すべてのオブジェクトは Object.prototype からメソッドとプロパティを継承していますが、それらはオーバーライドされている可能性があります。
例えば、他のコンストラクターのプロトタイプは constructor プロパティを上書きしており、それぞれが toString メソッドを提供しています。 Object のプロトタイプオブジェクトへの変更は、その変更に関連するプロパティとメソッドがプロトタイプチェーンによってさらに上書きされている場合を除いて、すべてのオブジェクトに影響します。
プロパティ
Object.prototype.constructor- オブジェクトのプロトタイプを生成する関数を指定します。
Object.prototype.__proto__- オブジェクトがインスタンス化されたとき、プロトタイプとして使用されたオブジェクトを指します。
Object.prototype.__noSuchMethod__- 未定義のオブジェクトメンバーがメソッドとして呼び出された際に実行される関数を定義します。
Object.prototype.__count__ユーザーが定義したオブジェクト上に直接存在する列挙可能プロパティの数を返すのに使用されていましたが、この機能は削除されました。Object.prototype.__parent__オブジェクトのコンテキストを指すために使用されていましたが、この機能は削除されました。
メソッド
Object.prototype.__defineGetter__()- 指定したプロパティに、アクセスの際に実行されて戻り値を返す関数を関連付けます。
Object.prototype.__defineSetter__()- 指定したプロパティに、設定の際に実行されてプロパティを変更する関数を関連付けます。
Object.prototype.__lookupGetter__()__defineGetter__()メソッドによって特定のプロパティに関連付けされた関数を返します。Object.prototype.__lookupSetter__()__defineSetter__()メソッドによって特定のプロパティに関連付けされた関数を返します。Object.prototype.hasOwnProperty()- 指定したプロパティが、プロトタイプチェーンを通じて継承されたものではなくオブジェクトが直接持っているプロパティかどうかを示す真偽値を返します。
Object.prototype.isPrototypeOf()- 指定したオブジェクトが、このメソッドを呼び出した元であるオブジェクトのプロトタイプチェーンにあるかどうかを示す真偽値を返します。
Object.prototype.propertyIsEnumerable()- 内部の ECMAScript [[Enumerable]] 属性 の設定状態を示す真偽値を返します。
Object.prototype.toSource()- このメソッドの呼び出し元オブジェクトを表すオブジェクトリテラルからなるソース文字列を返します。この値を使って新しいオブジェクトを作成できます。
Object.prototype.toLocaleString()toString()を呼び出します。Object.prototype.toString()- 指定したオブジェクトを表す文字列を返します。
Object.prototype.unwatch()- オブジェクトのプロパティから代入処理を監視するウォッチポイントを取り除きます。
Object.prototype.valueOf()- 指定したオブジェクトのプリミティブ値を返します。
Object.prototype.watch()- オブジェクトのプロパティに代入処理を監視するウォッチポイントを追加します。
Object.prototype.eval()指定されたオブジェクトが持つコンテキスト内で JavaScript コードの文字列を評価するメソッドでしたが、この機能は削除されました。
オブジェクトからプロパティを消す
Object 自身には自身のプロパティを削除する (例えば Map.prototype.delete() のような) メソッドはありません。これを行うには delete 演算子を使います。
例
undefined と null データ型を与えられた Object を使用する
次の例は、 o に空の Object オブジェクトを格納します。
let o = new Object()
let o = new Object(undefined)
let o = new Object(null)
Boolean オブジェクトの生成に Object を使用する
次の例は、o に Boolean オブジェクトを格納します。
// o = new Boolean(true) に同じ let o = new Object(true)
// to o = new Boolean(false) に同じ let o = new Object(Boolean())
オブジェクトのプロトタイプ
Object.prototype の既存のメソッドの動作を変更する場合は、既存のロジックの前または後で独自の拡張を囲む形でコードを挿入するようにしてください。例えば、この (テストされていない) コードは、組込みロジックや誰かの拡張機能が実行される前に、条件付きで独自のロジックを実行します。
関数が呼び出されると、呼び出す引数は配列風「変数」 arguments に保持されます。例えば myFn(a, b, c) の呼び出しでは、 myFn の本体内での引数は (a, b, c) に対応する3つの配列風要素を含みます。フックを使ってプロトタイプを変更する場合は、関数上で apply() を呼び出すことで、 this と引数 (呼び出し状態) を現在の動作に渡します。このパターンは、 Node.prototype, Function.prototype などのプロトタイプに使用できます。
var current = Object.prototype.valueOf;
// Since my property "-prop-value" is cross-cutting and isn't always
// on the same prototype chain, I want to modify Object.prototype:
Object.prototype.valueOf = function() {
if (this.hasOwnProperty('-prop-value')) {
return this['-prop-value'];
} else {
// It doesn't look like one of my objects, so let's fall back on
// the default behavior by reproducing the current behavior as best we can.
// The apply behaves like "super" in some other languages.
// Even though valueOf() doesn't take arguments, some other hook may.
return current.apply(this, arguments);
}
}
Since JavaScript doesn't exactly have sub-class objects, prototype is a useful workaround to make a “base class” object of certain functions that act as objects. For example:
var Person = function(name) {
this.name = name;
this.canTalk = true;
};
Person.prototype.greet = function() {
if (this.canTalk) {
console.log('Hi, I am ' + this.name);
}
};
var Employee = function(name, title) {
Person.call(this, name);
this.title = title;
};
Employee.prototype = Object.create(Person.prototype);
Employee.prototype.constructor = Employee; //If you don't set Object.prototype.constructor to Employee,
//it will take prototype.constructor of Person (parent).
//To avoid that, we set the prototype.constructor to Employee (child).
Employee.prototype.greet = function() {
if (this.canTalk) {
console.log('Hi, I am ' + this.name + ', the ' + this.title);
}
};
var Customer = function(name) {
Person.call(this, name);
};
Customer.prototype = Object.create(Person.prototype);
Customer.prototype.constructor = Customer; //If you don't set Object.prototype.constructor to Customer,
//it will take prototype.constructor of Person (parent).
//To avoid that, we set the prototype.constructor to Customer (child).
var Mime = function(name) {
Person.call(this, name);
this.canTalk = false;
};
Mime.prototype = Object.create(Person.prototype);
Mime.prototype.constructor = Mime; //If you don't set Object.prototype.constructor to Mime,
//it will take prototype.constructor of Person (parent).
//To avoid that, we set the prototype.constructor to Mime (child).
var bob = new Employee('Bob', 'Builder');
var joe = new Customer('Joe');
var rg = new Employee('Red Green', 'Handyman');
var mike = new Customer('Mike');
var mime = new Mime('Mime');
bob.greet();
// Hi, I am Bob, the Builder
joe.greet();
// Hi, I am Joe
rg.greet();
// Hi, I am Red Green, the Handyman
mike.greet();
// Hi, I am Mike
mime.greet();
仕様書
| 仕様書 |
|---|
| ECMAScript (ECMA-262) Object の定義 |
ブラウザーの互換性
| デスクトップ | モバイル | サーバー | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Object | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 3 | Opera 完全対応 3 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
Object() constructor | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 3 | Opera 完全対応 3 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
assign | Chrome 完全対応 45 | Edge 完全対応 12 | Firefox 完全対応 34 | IE 未対応 なし | Opera 完全対応 32 | Safari 完全対応 9 | WebView Android 完全対応 45 | Chrome Android 完全対応 45 | Firefox Android 完全対応 34 | Opera Android 完全対応 32 | Safari iOS 完全対応 9 | Samsung Internet Android 完全対応 5.0 | nodejs 完全対応 4.0.0 |
constructor | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 4 | Opera 完全対応 4 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
create | Chrome 完全対応 5 | Edge 完全対応 12 | Firefox 完全対応 4 | IE 完全対応 9 | Opera 完全対応 11.6 | Safari 完全対応 5 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 12 | Safari iOS 完全対応 5 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
__defineGetter__ | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox
完全対応
1
| IE 完全対応 11 | Opera 完全対応 9.5 | Safari 完全対応 3 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
defineProperties | Chrome 完全対応 5 | Edge 完全対応 12 | Firefox 完全対応 4 | IE 完全対応 9 | Opera 完全対応 11.6 | Safari 完全対応 5 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 12 | Safari iOS 完全対応 5 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
defineProperty | Chrome 完全対応 5 | Edge 完全対応 12 | Firefox 完全対応 4 | IE
完全対応
9
| Opera 完全対応 11.6 | Safari
完全対応
5.1
| WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 12 | Safari iOS
完全対応
6
| Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
__defineSetter__ | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox
完全対応
1
| IE 完全対応 11 | Opera 完全対応 9.5 | Safari 完全対応 3 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
entries | Chrome 完全対応 54 | Edge 完全対応 14 | Firefox 完全対応 47 | IE 未対応 なし | Opera 完全対応 41 | Safari 完全対応 10.1 | WebView Android 完全対応 54 | Chrome Android 完全対応 54 | Firefox Android 完全対応 47 | Opera Android 完全対応 41 | Safari iOS 完全対応 10.3 | Samsung Internet Android 完全対応 6.0 | nodejs
完全対応
7.0.0
|
freeze | Chrome 完全対応 6 | Edge 完全対応 12 | Firefox 完全対応 4 | IE 完全対応 9 | Opera 完全対応 12 | Safari 完全対応 5.1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 12 | Safari iOS 完全対応 6 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
fromEntries | Chrome 完全対応 73 | Edge 完全対応 79 | Firefox 完全対応 63 | IE 未対応 なし | Opera 完全対応 60 | Safari 完全対応 12.1 | WebView Android 完全対応 73 | Chrome Android 完全対応 73 | Firefox Android 完全対応 63 | Opera Android 未対応 なし | Safari iOS 完全対応 12.2 | Samsung Internet Android 未対応 なし | nodejs 完全対応 12.0.0 |
getOwnPropertyDescriptor | Chrome 完全対応 5 | Edge 完全対応 12 | Firefox 完全対応 4 | IE
完全対応
9
| Opera 完全対応 12 | Safari 完全対応 5 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 12 | Safari iOS 完全対応 5 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
getOwnPropertyDescriptors | Chrome 完全対応 54 | Edge 完全対応 15 | Firefox 完全対応 50 | IE 未対応 なし | Opera 完全対応 41 | Safari 完全対応 10 | WebView Android 完全対応 54 | Chrome Android 完全対応 54 | Firefox Android 完全対応 50 | Opera Android 完全対応 41 | Safari iOS 完全対応 10 | Samsung Internet Android 完全対応 6.0 | nodejs
完全対応
7.0.0
|
getOwnPropertyNames | Chrome 完全対応 5 | Edge 完全対応 12 | Firefox 完全対応 4 | IE 完全対応 9 | Opera 完全対応 12 | Safari 完全対応 5 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 12 | Safari iOS 完全対応 5 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
getOwnPropertySymbols | Chrome 完全対応 38 | Edge 完全対応 12 | Firefox 完全対応 36 | IE 未対応 なし | Opera 完全対応 25 | Safari 完全対応 9 | WebView Android 完全対応 38 | Chrome Android 完全対応 38 | Firefox Android 完全対応 36 | Opera Android 完全対応 25 | Safari iOS 完全対応 9 | Samsung Internet Android 完全対応 3.0 | nodejs 完全対応 0.12 |
getPrototypeOf | Chrome 完全対応 5 | Edge 完全対応 12 | Firefox 完全対応 3.5 | IE 完全対応 9 | Opera 完全対応 12.1 | Safari 完全対応 5 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 12.1 | Safari iOS 完全対応 5 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
hasOwnProperty | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 5.5 | Opera 完全対応 5 | Safari 完全対応 3 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
is | Chrome 完全対応 30 | Edge 完全対応 12 | Firefox 完全対応 22 | IE 未対応 なし | Opera 完全対応 17 | Safari 完全対応 9 | WebView Android 完全対応 ≤37 | Chrome Android 完全対応 30 | Firefox Android 完全対応 22 | Opera Android 完全対応 18 | Safari iOS 完全対応 9 | Samsung Internet Android 完全対応 2.0 | nodejs 完全対応 0.10 |
isExtensible | Chrome 完全対応 6 | Edge 完全対応 12 | Firefox 完全対応 4 | IE 完全対応 9 | Opera 完全対応 12 | Safari 完全対応 5.1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 12 | Safari iOS 完全対応 6 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
isFrozen | Chrome 完全対応 6 | Edge 完全対応 12 | Firefox 完全対応 4 | IE 完全対応 9 | Opera 完全対応 12 | Safari 完全対応 5.1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 12 | Safari iOS 完全対応 6 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
isPrototypeOf | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 9 | Opera 完全対応 4 | Safari 完全対応 3 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
isSealed | Chrome 完全対応 6 | Edge 完全対応 12 | Firefox 完全対応 4 | IE 完全対応 9 | Opera 完全対応 12 | Safari 完全対応 5.1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 12 | Safari iOS 完全対応 6 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
keys | Chrome 完全対応 5 | Edge 完全対応 12 | Firefox 完全対応 4 | IE 完全対応 9 | Opera 完全対応 12 | Safari 完全対応 5 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 12 | Safari iOS 完全対応 5 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
__lookupGetter__ | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 11 | Opera 完全対応 9.5 | Safari 完全対応 3 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
__lookupSetter__ | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 11 | Opera 完全対応 9.5 | Safari 完全対応 3 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
preventExtensions | Chrome 完全対応 6 | Edge 完全対応 12 | Firefox 完全対応 4 | IE 完全対応 9 | Opera 完全対応 12 | Safari 完全対応 5.1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 12 | Safari iOS 完全対応 6 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
propertyIsEnumerable | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 5.5 | Opera 完全対応 4 | Safari 完全対応 3 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
__proto__ | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 11 | Opera 完全対応 10.5 | Safari 完全対応 3 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 11 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
seal | Chrome 完全対応 6 | Edge 完全対応 12 | Firefox 完全対応 4 | IE 完全対応 9 | Opera 完全対応 12 | Safari 完全対応 5.1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 12 | Safari iOS 完全対応 6 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
setPrototypeOf | Chrome 完全対応 34 | Edge 完全対応 12 | Firefox 完全対応 31 | IE 完全対応 11 | Opera 完全対応 21 | Safari 完全対応 9 | WebView Android 完全対応 37 | Chrome Android 完全対応 34 | Firefox Android 完全対応 31 | Opera Android 完全対応 21 | Safari iOS 完全対応 9 | Samsung Internet Android 完全対応 2.0 | nodejs 完全対応 0.12 |
toLocaleString | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 5.5 | Opera 完全対応 4 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
toSource | Chrome 未対応 なし | Edge 未対応 なし | Firefox
未対応
1 — 74
| IE 未対応 なし | Opera 未対応 なし | Safari 未対応 なし | WebView Android 未対応 なし | Chrome Android 未対応 なし | Firefox Android 完全対応 4 | Opera Android 未対応 なし | Safari iOS 未対応 なし | Samsung Internet Android 未対応 なし | nodejs 未対応 なし |
toString() | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 3 | Opera 完全対応 3 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
valueOf | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 4 | Opera 完全対応 3 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
values | Chrome 完全対応 54 | Edge 完全対応 14 | Firefox 完全対応 47 | IE 未対応 なし | Opera 完全対応 41 | Safari 完全対応 10.1 | WebView Android 完全対応 54 | Chrome Android 完全対応 54 | Firefox Android 完全対応 47 | Opera Android 完全対応 41 | Safari iOS 完全対応 10.3 | Samsung Internet Android 完全対応 6.0 | nodejs
完全対応
7.0.0
|
凡例
- 完全対応
- 完全対応
- 未対応
- 未対応
- 非標準。ブラウザー間の互換性が低い可能性があります。
- 非標準。ブラウザー間の互換性が低い可能性があります。
- 非推奨。新しいウェブサイトでは使用しないでください。
- 非推奨。新しいウェブサイトでは使用しないでください。
- 実装ノートを参照してください。
- 実装ノートを参照してください。
- ユーザーが明示的にこの機能を有効にしなければなりません。
- ユーザーが明示的にこの機能を有効にしなければなりません。