Javascript의 변수들

isTuna·2021년 2월 10일
0

Javascript

목록 보기
1/4

Javascript의 변수

파이썬으로 개발을 처음 공부 하신분들은 변수의 종류라 하면 자료형, 문자형 같은 타입이 먼저 생각 날 것입니다. Python에서는 별도의 형식을 지정하지 않고도 변수를 선언할 수 있습니다. 하지만 예를 들어 C에서는 자료형이면 int 문자면 char을 앞에 붙여줘야 선언할 수 있습니다. JavascriptPythonC의 중간 정도의 번거러움이 있습니다. Javascript의 변수들의 종류들에 대해 알아보겠습니다.

let

let으로 선언된 변수는 해당 변수가 선언된 함수 내에서 유효합니다. letes2015에서 const와 함께 추가되었습니다.

let num = 3;

if (num){
	let num = 5;
   	console.log(num);     // 5
}

console.log(num);		  // 3

const

const는 값이 변하지 않는 변수를 선언하게 해줍니다. 유효한 범위는 let과 같습니다.

var

var은 가장 일반적인 변수입니다. letconst가 가지고 있는 특성을 var은 가지고 있지 않습니다. varFunction Scope라는 특징을 가지고 있으며, 아래의 예시와 같이 동작합니다.

//Function Scope
var num = 3;

function setNum() {
	var num = 10;
  	console.log(num)			
}
setNum()					// 10
console.log(num)				// 3



//non Function Scope
var name = "jang";

if (name){
	var name = "jun";
 	console.log(name);			// jun
}
console.log(name);				// jun

또한 var을 더 잘 활용하기 위해선 Hoisting이라는 특성도 이해해야 합니다. 원래 같으면 변수를 선언하기 전에 참조하면 참조에러가 발생합니다. 하지만 Javascript에서는 아래와 같이 돌아갑니다.

console.log(num)		// undefined
var num = 4
console.log(num)		// 4

이렇게 되는 이유는 varJavascript 엔진이 코드 최상위로 미리 선언됩니다. 이러한 Hoisting을 막기 위해서는 'use strict'를 스코프 내에서 사용해야합니다.


profile
청소연구소 개발자 (2021. 05~ )

0개의 댓글