변수(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
const
s and then group all yourlet
s.우선
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
andconst
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 |