ブラウザと端末(ノード)にはconsole.log(typeof演算)

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)

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=32582&siteId=1