変数を宣言する際の注意点(スキャン)


変数を宣言する際の注意事項


  • (1)Windowオブジェクト(ブラウザのみ)
  • varと宣言されたグローバル変数とグローバル関数はwindowオブジェクトに属します.
    //var로 선언된 전역변수
    var myName = '김코딩';
    console.log(window.myName); // 김코딩
    //전역 함수
    function foo() {
      console.log('bar')
    }
    
    console.log(foo === window.foo);// true  

  • (2)グローバル変数を最小化する必要がある.
  • グローバル変数は、どこからでもアクセス可能な変数です.
  • は便利ですが、副作用が発生する可能性があります.
  • コラボレーションでは、多くの人がグローバル変数を作成すると混乱する可能性があります.

  • (3)主にlet constキーワードを用いて変数を宣言する.
  • varはブロックスキャンを無視し、再宣言はエラーを起こさない.
  • グローバル変数をvarとして宣言すると、ブラウザの組み込み機能が無効になる可能性があります.

  • (4)キーワードが宣言されていない場合に変数を割り当てない.
  • を宣言したことがないが、varとして宣言されたグローバル変数のように値を指定した場合.
  • //var선언된것 window객체에 들어가게 됩니다.
    function showAge() {
      age = 90;
      console.log(age);// 90
    }
    showAge();
    console.log(age);// 90
    console.log(window.age);//90

  • (5)エラーを回避するために厳格なパターンを用いることができる.
  • 'use strict';という特殊なインジケータを使用して「厳格モード」(strict mode)を有効にすると、前述したように「宣言されていない変数割り当て」も厳格モードをエラーと見なします.








  • 注意:コード状態/mdn