JavaScript <その他リファレンス メモ> 言語 等CSSHTMLJavaScriptPython ライブラリ・プラットフォームjQuerymicro:bitXamarin ドキュメンテーションDoxygenJSDocMarkdownSHFBXML ドキュメント コメント その他各種資料 子サイト簡易リファレンス・Tips サポート寄付 Function【関数】オブジェクト Function【関数】オブジェクトメモ概要関数 オブジェクト 関数の詳細については、関数を参照 通常はfunction 宣言・function 式で関数定義 (参照:関数定義・関数定義の巻き上げ) クラス定義による継承可能 関連関数 関数定義・関数定義の巻き上げ アロー関数 (=>) 引数・可変長引数 (arguments【引数リスト】)・戻り値 デフォルト引数 ・可変長引数 外部リンクECMA-262 (英語) Function ObjectsES2024 (15) ES2023 (14) ES2022 (13) Function.prototype.constructorES2024 (15) ES2023 (14) ES2022 (13) lengthES2024 (15) ES2023 (14) ES2022 (13) nameES2024 (15) ES2023 (14) ES2022 (13) prototypeES2024 (15) ES2023 (14) ES2022 (13) コンストラクタ構文説明[ new ] Function ( p1, p2, … , pn, body )コンストラクタプロパティ 一覧下記 例 参照プロパティ説明Function.caller 呼び出した関数 (参考:arguments.caller)Function.prototype.constructorコンストラクタ定義Function.length引数の定義数 (参考:arguments.length【呼び出し時の引数の数】)Function.name 関数名Function.prototypeプロトタイプメソッド 一覧メソッド説明Function.prototype. [@@hasInstance] (V) Function.prototype. apply ( thisArg, argArray ) 関数呼出し (配列引数)Function.prototype. bind ( thisArg, ...args ) 関数生成Function.prototype. call ( thisArg, ...args ) 関数呼出し (可変引数)Function.prototype.toString ( )文字列変換 例 (プロパティ) const func0 = Function("return;"); const func1 = Function("x", "return x;"); const func2 = Function("x, y", "return x + y;"); const func3 = Function("x, y, z", "return x + y + z;"); console.log(func0.prototype.constructor); // 出力:ƒ anonymous( // 出力:) { // 出力:return; // 出力:} console.log(func0.length); // 出力:0 console.log(func0.name); // 出力:anonymous console.log(func0.prototype); // 出力:constructor: ƒ anonymous( ) // 出力:__proto__: Object console.log(func1.prototype.constructor); // 出力:ƒ anonymous(x // 出力:) { // 出力:return x; // 出力:} console.log(func1.length); // 出力:1 console.log(func1.name); // 出力:anonymous console.log(func1.prototype); // 出力:constructor: ƒ anonymous(x ) // 出力:__proto__: Object console.log(func2.prototype.constructor); // 出力:ƒ anonymous(x, y // 出力:) { // 出力:return x + y; // 出力:} console.log(func2.length); // 出力:2 console.log(func2.name); // 出力:anonymous console.log(func2.prototype); // 出力:constructor: ƒ anonymous(x, y ) // 出力:__proto__: Object console.log(func3.prototype.constructor); // 出力:ƒ anonymous(x, y, z // 出力:) { // 出力:return x + y + z; // 出力:} console.log(func3.length); // 出力:3 console.log(func3.name); // 出力:anonymous console.log(func3.prototype); // 出力:constructor: ƒ anonymous(x, y, z ) // 出力:__proto__: Object function funcA(x, y = 20, z = 30) { console.log(arguments.length); } function funcB(...args) { console.log(arguments.length, args.length); } console.log(funcA.name); // 出力:funcA console.log(funcA.length); // 出力:1 funcA(1); // 出力:1 funcA(1, 2); // 出力:2 funcA(1, 2, 3); // 出力:3 console.log(funcB.name); // 出力:funcB console.log(funcB.length); // 出力:0 funcB(); // 出力:0 0 funcB(1); // 出力:1 1 funcB(1, 2); // 出力:2 2 funcB(1, 2, 3); // 出力:3 3