◇ 팁?!?/개발
javascript var a = b = 0;
아맹꼬
2016. 8. 2. 17:21
728x90
function foo() {
var a = b = 0;
}
-> a는 지역변수지만 b는 전역변수가 된다.
이런 일이 생기는 이유는 평가(evaluation)가 오른쪽에서 왼쪽으로 진행되기 때문
먼저 b=0 이라는 표현식을 평가되는데, 이 때 b는 선언되지 않은 상태.
이 표현식의 반환 값 0은 다시 var a로 선언된 새로운 지역 변수에 할당.
위를 정리하면
var a = (b = 0);
그래서 제대로 사용하려면
function foo() {
var a, b;
a = b = 0;
}
으로.. var로 반드시 선언하고 사용.
반응형