본문 바로가기

개발/Javascript

변수(Variables)

변수(Variables)

  • Always use const to declare variables. Not doing so will result in global variables. We want to avoid polluting the global namespace. Captain Planet warned us of that.

  • 변수를 선언 할 때는 항상 const 를 사용해 주십시오. 그렇게 하지 않으면 글로벌 변수로 선언됩니다. 글로벌 namespace 를 오염시키지 않도록 캡틴플래닛도 경고하고 있습니다.

    // bad
    superPower = new SuperPower();
    
    // good
    const superPower = new SuperPower();
  • Use one const declaration per variable.

  • 하나의 변수선언에 대해 하나의 const 를 이용해 주십시오.

    Why? It's easier to add new variable declarations this way, and you never have to worry about swapping out a ; for a , or introducing punctuation-only diffs.

    왜? 이 방법의 경우, 간단히 새 변수를 추가하는게 가능합니다. 또한 , 를 ; 로 바꿔버리는 것에 대해 걱정할 필요가 없습니다.

    // bad
    const items = getItems(),
        goSportsTeam = true,
        dragonball = 'z';
    
    // bad
    // (compare to above, and try to spot the mistake)
    const items = getItems(),
        goSportsTeam = true;
        dragonball = 'z';
    
    // good
    const items = getItems();
    const goSportsTeam = true;
    const dragonball = 'z';
  • Group all your consts and then group all your lets.

  •  우선 const 를 그룹화하고 다음에 let 을 그룹화 해주십시오.

    Why? This is helpful when later on you might need to assign a variable depending on one of the previous assigned variables.

    왜? 이전에 할당한 변수에 대해 나중에 새 변수를 추가하는 경우에 유용하기 때문입니다.

    // bad
    let i, len, dragonball,
        items = getItems(),
        goSportsTeam = true;
    
    // bad
    let i;
    const items = getItems();
    let dragonball;
    const goSportsTeam = true;
    let len;
    
    // good
    const goSportsTeam = true;
    const items = getItems();
    let dragonball;
    let i;
    let length;
  • Assign variables where you need them, but place them in a reasonable place.

  • 변수를 할당할때는 필요하고 합리적인 장소에 두시기 바랍니다.

    Why? let and const are block scoped and not function scoped.

    왜? let 과 const 는 블록스코프이기 때문입니다. 함수스코프가 아닙니다.

    // good
    function() {
      test();
      console.log('doing stuff..');
    
      //..other stuff..
    
      const name = getName();
    
      if (name === 'test') {
        return false;
      }
    
      return name;
    }
    
    // bad - unnecessary function call
    // 필요없는 함수 호출
    function(hasName) {
      const name = getName();
    
      if (!hasName) {
        return false;
      }
    
      this.setFirstName(name);
    
      return true;
    }
    
    // good
    function(hasName) {
      if (!hasName) {
        return false;
      }
    
      const name = getName();
      this.setFirstName(name);
    
      return true;
    }


'개발 > Javascript' 카테고리의 다른 글

조건식과 등가식(Comparison Operators & Equality)  (0) 2018.03.11
Hoisting  (0) 2018.03.11
이터레이터와 제너레이터(Iterators and Generators)  (0) 2018.03.11
모듈(Modules)  (0) 2018.03.11
Classes & Constructors  (0) 2018.03.11