【JSリファレンス】Reflect.construct()

更新日:2024/06/14

Reflect.construct()は、Reflectオブジェクトのメソッドです。

引数で与えられた関数を実行してインスタンスを生成します。
newキーワードで実行した時と同じ処理です。

 

■構文

Reflect.construct ( target, argumentsList [ , newTarget ] )
  1. target: Functionオブジェクトを指定する

    異なる値を指定した場合TypeError

  2. argumentsList: 関数に渡す引数をセットしたアレイライクオブジェクト
  3. newTarget: 省略可能。規定値 target

    新規オブジェクトのプロトタイプに組み込まれる、prototypeプロパティを持つオブジェクト。

targetのインスタンス

 

■使用例

const func = function(x,y,z){
  this.value = x + y + x;
}
func.prototype.getValue=function(){
  return this.value;
}

const result = Reflect.construct( 
    func ,  [ 1 , 2, 3] );

console.log( result.getValue() );
// 結果: 4

▶newTarget を指定

 // このコードは上記コードに続きます

const func2 = function(){};
func2.prototype.getValue=function(){
  return this.value * 100;
}

const result2 = Reflect.construct( 
    func ,  [ 1 , 2, 3] ,func2 );

console.log( result2.getValue() );
// 結果: 400

更新日:2024/06/14

書いた人(管理人):けーちゃん

スポンサーリンク

記事の内容について

null

こんにちはけーちゃんです。
説明するのって難しいですね。

「なんか言ってることおかしくない?」
たぶん、こんなご意見あると思います。

裏付けを取りながら記事を作成していますが、僕の勘違いだったり、そもそも情報源の内容が間違えていたりで、正確でないことが多いと思います。
そんなときは、ご意見もらえたら嬉しいです。

掲載コードについては事前に動作確認をしていますが、貼り付け後に体裁を整えるなどをした結果動作しないものになっていることがあります。
生暖かい視線でスルーするか、ご指摘ください。

ご意見、ご指摘はこちら。
https://jsref.affi-sapo-sv.com/info.php

 

このサイトは、リンクフリーです。大歓迎です。