kakasoo

JavaScript의 변수 기초 본문

프로그래밍/JavaScript

JavaScript의 변수 기초

카카수(kakasoo) 2020. 7. 12. 18:24
반응형
var sum; // sum 이라는 이름의 변수 선언
var a,b; // a,b 라는 이름의 변수 선언

console.log(x); // x 변수가 선언되지 않은 경우 undefined 출력

y = 2; // 변수를 선언하지 않은 상태로 값 입력시 전역 변수로 취급
console.log(y); // 2

변수 끌어올림 (호이스팅)

x가 미리 선언되지 않은 상태로 x를 출력하는 코드는, undefined를 출력한다.

하지만 선언 없이 값 대입을 먼저 할 경우에는 오류 없이 정상적인 출력이 된다.

이는 y를 출력한 것에서 확인가능하며, 자동적으로 변수가 전역 취급되었음을 의미한다.

 

이것만으로도 JavaScript는 다른 언어와 다른 특징을 가지고 있음을 확인할 수 있다.

JavaScript가 변수 선언에 대하여 프로그램을 위부터 실행한다는 원칙을 따르지 않음이다.

정확하게 말해서, 변수 선언을, 코드의 맨 윗줄로 끌어올리는 ‘호이스팅’이 발생한 것이다.

 

JavaScript에서 var로 선언된 모든 변수는 맨 윗줄로 끌어올려지며,

var를 비롯한 다른 변수 선언이 명시되지 않은 경우는 var로 선언된 것처럼 취급된다.

 

var로 선언된 변수는, 같은 이름으로 변수를 선언하더라도 문제가 되지 않는다.

같은 이름으로 선언된 경우, 끌어올림으로 인해 하나의 영역에만 할당되기 때문이다.

후술하겠지만, var 대신에 let, const를 사용하는 것이 옳고,

가급적 불변하게끔 const만을 사용하는 것이 협업에 더 유리하다고 볼 수 있다.

변수 명명 규칙

  1. 사용 가능한 글자는 a~z, A~Z까지의 영어 스펠링과 숫자 0~9, 밑줄(_, underbar), 달러기호($)
  2. 첫 글자에는 숫자 사용 금지
  3. 예약어 사용 금지
  4. 표기는 캐멀, 파스칼, 밑줄 표기법으로 한다.
  5. 변수의 이름을 통해 의미를 파악할 수 있도록 명명한다.
  6. 기본적으로 영어 단어를 사용
  7. 루프 카운터로는 i, j, k 를 사용한다.
  8. 상수는 대문자로 표현한다. ex) MAX_SIZE
  9. 논리값을 표현하는 변수 이름 앞에는 is를 붙여서 만든다.
  10. 생성자 이름을 붙일 때에는 파스칼 표기법을 사용한다.
반응형