エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント1件
- 注目コメント
- 新着コメント
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
new 演算子を使いつつ可変長引数っぽいことをするには? - Qiita
function Hoge (a) { this.x = a; } var a = new (function () { return Hoge.apply(this, ["hoge"]); }... function Hoge (a) { this.x = a; } var a = new (function () { return Hoge.apply(this, ["hoge"]); })(); a instanceof Hoge; // => false 最初のパターンがうまくいっていた(Arrayのインスタンスが返ってきていた)ように見えたのは、組み込みの Array 関数が「配列オブジェクト」を返すためです。実はnew 演算子の結果は、コンストラクタ関数がオブジェクトを返す場合はそのオブジェクトになり、それ以外の場合にコンテキストオブジェクト(i.e. this)になります。 つまり、最初の例は実は以下のコードとほぼ等価だったということになります:
2012/10/17 リンク