반응형

1. 동적 타입

-> 변수에 저장할 정보가 어떤 타입인지 사전에 지정할 필요가 없다

tip) 변수 타입이 궁금할때는 typeof를 이용하면 됨

 

2. 변수 호이스팅(hoisting)

 

-> 자바스크립트는 보통 위에서 아래 순서대로 진행될거라 기대하지만, 실제로 그렇지는 않다.

-> 반복문에 변수가 선언 되었을 경우 변수가 속한 함수 컨텍스트의 최상단으로 끌어올려진다.

 

이 때문에 변수 명이 충돌하는 문제가 발생 할 수 있다.

 

ex) var numLoops =100;

for(var i =0 ; i < numLoops; i++){

console.log(i);

}

위와 같은 코드를 짜면

 

다음과 같이 동작한다.

var numLoops =100;

var i;

for(i=0 ; i < numLoops; i++){

console.log(i);

}

 

3. 함수 단위의 유효범위

 

프로그램에서 변수 유효범위(variable scope)은 어떤 변수가 어떤 컨텍스트에서 접근 가능한지를 알려 주는 개념이다.

 

일반 적인 프로그램 언어는 {} 단위로 블록을 설정 하지만 자바스크립트는 함수레벨에서 유효범위를 갖는다. 즉 자바스크립트는 블록이 아니라 변수가 속한 함수 기준으로 접근을 제한한다.

 

4. 전역 네임스페이스

 -> 네임 스페이스 개념 http://www.joy24.net/78

 

프로젝트가 복잡해지면 네임스페이스 충돌 문제가 발생할 수 있다

이를  해결 하기 위한 방안은 다음과 같다.

 

- 함수 안에서만 변수를 선언한다. 보통은 실현하기 어렵지만, 함수 레벨 유효 범위는 다른 변수와의 충돌을 막아 준다.

-전역 객체를 하나 선언하고, 그 객체에 필요한 전역 변수를 모두 추가 한다.

반응형

'프로젝트 관련 조사 > ' 카테고리의 다른 글

프론트엔드(Front-end) 와 백엔드(back-end)  (0) 2015.10.14
SVG 가 뭦지??  (0) 2015.09.11
JSON 이란??  (0) 2015.09.11
웹 기초  (0) 2015.09.09
python 간단한 웹서버  (0) 2015.09.08

+ Recent posts