「JavaScript/Function」の版間の差分

削除された内容 追加された内容
Ef3 (トーク | 投稿記録)
M {{Nav}}
Ef3 (トーク | 投稿記録)
5 行
 
=== プロパティ ===
<!--
==== constructor ====
a = [], obj = function(){}
==== length ====
for (const p in Object.getOwnPropertyDescriptors(Function))
a.push(`==== Function.${p} ====`)
console.log(a.sort().join("\n"))
 
==== Function.length ====
==== Function.name ====
==== Function.prototype ====
-->
==== Function.length ====
この関数が取る引数の数を返す。
<source lang="javascript">
39 ⟶ 48行目:
</source>
 
==== Function.name ====
この関数の名前を返す。
<source lang="javascript">
46 ⟶ 55行目:
</source>
 
==== メソッドFunction.prototype ====
 
=== インスタンスメソッド ===
==== toString() ====
<!--
関数の処理内容を文字列で返す。
a = []
for (const p in Object.getOwnPropertyDescriptors(Function.prototype))
a.push(`==== Function.prototype.${p} ====`)
console.log(a.sort().join("\n"))
-->
==== Function.prototype.apply ====
==== callapply(thisArg [ , arg1 [ , arg2, … ] ] argArray) ====
 
callメソッドと同じく、メソッドを実行できる。
callメソッドとの違いは、引数に配列を与えると、これを展開して実行することである。
 
例えば、次の様に配列を自動で展開して実行可能である。
<source lang="javascript">
Math.max.apply( null, [1,5,8,9,2,10,30,5] );
</source>
 
スプレッド構文を使うとこのようにも書ける。
<source lang="javascript">
Math.max(...[1,5,8,9,2,10,30,5]);
</source>
 
==== Function.prototype.arguments ====
==== call(thisArg [ , arg1 [ , arg2, … ] ] ) ====
==== Function.prototype.bind ====
==== Function.prototype.call(thisArg [ , arg1 [ , arg2, … ] ] ) ====
callはその関数を実行する。
また、関数に引数を与えたい場合には、callメソッドの第2引数以降に指定をする。
73 ⟶ 104行目:
</source>
 
==== apply(thisArg, argArray)Function.prototype.caller ====
==== Function.prototype.constructor ====
 
==== Function.prototype.length ====
callメソッドと同じく、メソッドを実行できる。
==== Function.prototype.name ====
callメソッドとの違いは、引数に配列を与えると、これを展開して実行することである。
==== Function.prototype.toString() ====
関数の処理内容を文字列で返す。
 
----
例えば、次の様に配列を自動で展開して実行可能である。
<source lang="javascript">
Math.max.apply( null, [1,5,8,9,2,10,30,5] );
</source>
 
スプレッド構文を使うとこのようにも書ける。
<source lang="javascript">
Math.max(...[1,5,8,9,2,10,30,5]);
</source>
[[Category:JavaScript]]