es6-01

변수 선언

변수(variable)는 간단히 말해 이름이 붙은 값.
기존에는 var만 있었는데 ES6에서는 letconst 가 새로 생겼다.

상수(constant)는 변수와 마찮가지로 값을 할당 받을 수는 있지만 한번 할당한 값은 바꿀 수 없는 모양

될 수 있으면 변수보다는 상수를 쓰는게 좋다고 한다. 상수를 사용하면 값을 바꾸지 말아야 할 데이터에서 실수로 값을 바꾸는 일이 줄어든다고 한다.
하지만 루프나 시간이 지나면서 값이 바뀌는 가변적인 데이터에는 변수를 써야하는 케이스 바이 케이스.

문자열 병합

ES6이전에는 변수나 상수를 문자열 안에 쓰는 방법은 문자열 병합 뿐이었음(+). ES6에서는 문자열 템플릿(template)이라는 기능을 도입. Interpolation이라고 부르기도 함

1
2
let currentTemp = 19.5;
const message = "The current temperature is" + currentTemp + "\u00b0c";

기존의 위와 같은 코드를 문자열 병합을 사용하면

1
2
let currentTemp = 19.5;
const message = `The current temperature is ${currentTemp} \u00b0c`;

이렇게 쓸 수 있는데 여기에서 문자열을 감싸고 있는 것은 `백틱(backtick)이라는 것을 명심!
중괄호 안에는 어떤 표현식이라도 쓸 수 있다.

여러줄의 문자열에는 이렇게도 쓸 수 있징

1
2
3
4
let currentTemp = 19.5;
const multiline = 'Current temperature : \n' +
`\t${currentTemp}\u00b0c\n` +
"Dont't worry...the heat is on!";

문자열 병합을 사용할 때에는 백틱, 따옴표를 섞어서 써도 무방
(근데 왜 DOM에는 글씨가 한줄로 나오나…. 콘솔이나 alert에서는 잘 나왔딩ㅜ)

symbol

심볼은 유일한 토큰을 나타내기 위해 ES6에서 도입한 새로운 데이터 타입.
심볼은 항상 유일. 객체와 유사하다.

심볼은 Symbol() 생성자로 만든다.

1
2
3
const RED = Symbol("The color of a sunset!");
const ORANGE = Symbol("The color fo a sunset!");
RED === ORANGE //false : 심볼은 모두 서로 다름

우연히 다른 식별자와 혼동해서는 안 되는 고유한 식별자가 필요하다면 심볼을 사용하도록!

공유하기 댓글