7行目のこのようないくつかのMDNArrayメソッドシムで、次の構文を使用していることに気付きました。
var t = Object(this);
this
配列はどこにありますか。それは私のバリデーターをほのめかさないだけでなく、それが何をするのかについても無知です。
誰かが光を当てることができますか?
7行目のこのようないくつかのMDNArrayメソッドシムで、次の構文を使用していることに気付きました。
var t = Object(this);
this
配列はどこにありますか。それは私のバリデーターをほのめかさないだけでなく、それが何をするのかについても無知です。
誰かが光を当てることができますか?
私が知る限り、そこでの唯一の使用は、文字列リテラルを に渡す場合をカバーすることですArray.prototype.indexOf
。それを削除して文字列を渡すと、エラーが発生します。
TypeError: 'in' 演算子を使用して文字列内の '0' を検索することはできません
ただし、文字列リテラルを のインスタンスにキャストすると、文字String
列の各文字の数値プロパティを持つオブジェクトが作成されます。これは通常のオブジェクトであるため、in
演算子を使用すると、メソッドはインデックスを返します。文字列内の文字の:
Array.prototype.indexOf.call("hello", "e"); // Returns 1
にキャストした例と、キャストしなかっObject
た例を次に示します。
より一般的なケースでは、コンストラクターに何かを渡すと、それをObject
オブジェクトに変換しようとします。したがって、文字列リテラルをString
渡して back のインスタンスを取得したり、数値リテラルを渡して のインスタンスを取得したりできますNumber
。