Farshad:
あなたは、端末内のノードでsample.jsファイルを実行すると
var name = 12;
console.log( typeof name )
//number
それは、ブラウザのコンソールに違います
var name = 12;
console.log( typeof name )
//string
なぜ違いがあります!
マット・エレン:
name
財産であるwindow
と文字列。
あなたが設定した場合name
、コンソールには、それが実際の値の設定だwindow.name
ドキュメントに記載されているように、文字列に変換されますこれを:
window.nameは、toStringメソッドを使用して、文字列表現にすべての値を変換します。
あなたがそうのような名前を設定しているので、これは特に発生します。
var name = 12;
使用してvar name =
、他のスコープなしで、ブラウザでは、書き込みと同じですwindow.name =
。
あなたが使用した場合しかし、const
もしくはlet
宣言しname
、その後、name
すなわちグローバルスコープには適用されませんwindow
、それは予想されるタイプで、次のようになります。
const name = 4;
console.log(typeof name)