◇ 팁?!?/개발

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로 반드시 선언하고 사용.


반응형

'◇ 팁?!? > 개발' 카테고리의 다른 글

highchart가 좋으냐 d3.js이 좋으냐  (0) 2016.10.20
javascript [==, !=] vs [===, !==]  (0) 2016.08.02
Web RGB Color 검색  (0) 2016.06.09
ms-sql 중복된 행 갯수 구하기  (0) 2015.12.11
ms-sql primary key 생성  (0) 2015.12.11