なぜObject.apply
は同じ、オブジェクトにそれを使用できるケースがないときに、コンソールでObject.applyが表示されるのはなぜですか?
のためのユースケースが存在しないときに関数を呼び出している間、我々は法を適用使うだけの時間があるコンソールの提案であります。
mdn's js Object referenceにも記載されていません。 関数のプロトタイプがmdnにあります。
オブジェクトを使用しているときに適用を使用できるケースがある場合は、私にお知らせください。
なぜObject.apply
は同じ、オブジェクトにそれを使用できるケースがないときに、コンソールでObject.applyが表示されるのはなぜですか?
のためのユースケースが存在しないときに関数を呼び出している間、我々は法を適用使うだけの時間があるコンソールの提案であります。
mdn's js Object referenceにも記載されていません。 関数のプロトタイプがmdnにあります。
オブジェクトを使用しているときに適用を使用できるケースがある場合は、私にお知らせください。
Object
は関数であり、関数はapply
メソッドを持っています。 F.apply(this, [x, y, z])
(最初の引数はthis
関数内の値となる)としてF
が関数である場合言い換えると、コールに関数を適用呼び出すすべての関数のよう
console.log(Object.constructor === Function);
は次にF(x, y, z)
は同じです。スペックから
JavaScriptで(セクション19)Object
(すなわち、最初はグローバルオブジェクトに名前「オブジェクト」にバインドされているもの)オプションの引数x
として呼び出すことができるコンストラクタです。
NewTarget
がundefined
でもアクティブな機能でもない場合は、 return OrdinaryCreateFromConstructor(NewTarget, "%ObjectPrototype%")
です。つまり、new Object()
を呼び出すことは、({})
と同じです。
値がnull
,undefined
の場合は、ObjectCreate(%ObjectPrototype%)
を返します。つまり、Object(undefined)
またはObject(null)
(new
なし)を呼び出すと、({})
と書いて新しい標準オブジェクトを作成するようなことになります。
他の場合はToObject(value)
を返します。これは、Object(x)
がオブジェクトへの変換を呼び出すことを意味します。たとえばObject(42)
はボックス化された数値を返しますが、x
が既にオブジェクトの場合はObject(x)===x
となります。 IMO Object.apply
を呼び出す
は(おそらくもののこの種を触れることなく、すべてのあなたの人生のための幸せな生産性のJavaScriptプログラマ可能)Javascriptのプログラムに非常に頻繁に起こっていません。
Object.applyの使用例を教えてください。 –
お気づきの場合、typeof(Object)は "function" - >関数です。 したがって、Function.prototypeのすべてのメソッド(call
、apply
、bind
など)があります。
私もObject.applyを使用する必要はありません。
Object
コンストラクタは、典型的には、オブジェクトにプリミティブを変換するために使用される:
1 instanceof Number // false
しかし
Object(1) instanceof Number // true
(非常に人工的なものの)が可能なの最初の要素を変換されるObject.apply
のケースを使用オブジェクトへのプリミティブの配列
var singletonArray = ['foo'];
var foo = Object.apply(null, singletonArray);
// foo is an Object
// (foo instanceof String) === true
これは非常に有用であるが、Object
ため.apply
方法は例外が、ルールはない有する関数でなくてもよいです。
Applyは関数のプロパティで、 'Object'は関数です。したがって適用が利用可能です。 'Typeof(Object)'を試してください – Rajesh
あなたが気づいたら 'typeof(Object)'は "function"です。したがって、Function.prototypeにはすべてのメソッドがあります(call、applyなど)。 また、私も 'Object.apply'を使用する必要はありません。 – vothaison
@Vothaison、このコメントを回答として追加してください。 –