- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:node.jsのシェル上で)
node.jsのシェル上でコンソール上でnodejsを起動してシェルとしてつかった場合、undefinedと出力される原因は何ですか?
このQ&Aのポイント
- node.jsのシェル上でコンソール上でnodejsを起動してシェルとしてつかった場合、undefinedと出力される場合があります。
- グローバル変数のスコープの違いが原因です。コンソール上ではthisがグローバルオブジェクトを指し、グローバル変数としてアクセスできますが、JSファイルに記述して実行する場合はthisが異なるオブジェクトを指すため、undefinedとなります。
- JSファイルに記述して実行する場合は、グローバル変数をthisではなく、グローバルオブジェクトであるglobalオブジェクトに定義する必要があります。そうすることで、undefinedとならずに値が正しく出力されます。
- みんなの回答 (3)
- 専門家の回答
補足
うーん、だめでした。 thisをglobalとしてもundefinedがでてしましいますね・・・。 nodeのヴァージョンはv0,8,1でした。 v0.9系の開発バージョンじゃないと動きがことなるのでしょうか・・。