私はカイル・シンプソンによる「あなた-ドント・ノウ・JS」シリーズを読んで、このコードブロックに出くわした:new myFunction()は、myFunctionという名前のオブジェクトを返しますか?
function NothingSpecial() {
console.log("Don't mind me!");
}
var a = new NothingSpecial();
// "Don't mind me!"
a; // {}
これによると、最後の行a;
は空のオブジェクト{}
を返す必要があります。しかし、わかっているように、名前NothingSpecial(NothingSpecial {}
)のオブジェクトを返します。私はこの動作によってやや混乱しています。 new NothingSpecial()
によって作成されたオブジェクトはa
であり、理解できる限りa
であり、NothingSpecial
ではありません。また、名前NothingSpecial
は関数名と競合します。誰でも説明していただけますか?
'NothingSpecial'はタイプの名前です –
' a'は変数名です。オブジェクトは '= '代入を使用するときに格納されている変数名を知りません – Aprillion