ES6 기초 문법 세가지


1. const

ES6에 들어가며 새롭게 추가된 변수 선언법이다.

기존에 var와 달리 상수형으로 코딩이 가능하며

값을 재할당 할수 없다. 

const NUM = 100;

console.log(NUM); /* 100 */

NUM = 1; /* Assignment to constant variable. ( 상수 변수라 값을 할당할 수 없다.) */

console.log(NUM); /* 100 */

하지만 참조형으로 사용한다면 값변경이 가능합니다.


원시형 변수에서만 상수형으로 동작하고 array, object등에선 값변경이 가능해집니다.




2. let

ES6에서 var를 대체하는 새로운 키워드

기존에 var는 호이스팅 현상이 있어서 어디서든 호출해도 여기저기 잘불려 다니는 말랑말랑한 변수선언이였다면 

반면 let, const는 엄청 딱딱한 친구들입니다. 호출한 시점에 변수 선언이 이루어지지 않았다면 에러가 출력됩니다.

기존에 var와 달리 직관적이고 자연스러운 표현이 됬습니다. 

console.log(num); /* undefined */


var num;

console.log(num); /* num is not defined */


let num;


하지만 저는 swift언어를 배운입장에선 의아했습니다. 

swift에서는 let을 상수 선언으로 사용하지만 ES6에서는 let을 자유롭게 변경하는 변수로 사용합니다.

let은 기존 var와 같이 자유롭게 사용할수 있지만

기존 var보다는 좀더 직관적이고 자연스럽게 사용 할수있습니다.




3. Template literals ``(백틱) 

세번째로 백틱 ``입니다.


기존에 자바스크립트에서는 문자열을 표시할때  ' 혹은 ''을 사용했습니다.


ES6에서는 ``이 추가되어 아주 편리해 젔습니다. 


var content = '';

content = '<tr>'; content += '<td>' + realdate + '</td>'; content += '<td>' + price + '</td>'; content += '<td>' + pri_ch + '</td>'; content += '<td>' + pri_chp + '</td>';

기존에 이런식으로 여러줄로 표현되거나 한줄에 우겨넣으면 아주 복잡했던 코드를 간단하게 


let content = '';

content = `<tr>

<td> ${realdate} </td>

<td> ${price} </td>

<td> ${pri_ch} </td>

<td> ${pri_chp} </td>`;

`` 하나로 표현할수 있다. 변수는 ${}안에 넣어주면 됩니다. 





이상으로 ES6문법 세가지를 알아봤습니다. 


추가적으로 어느 블로그를 보니 var와 let 을 브라우저 종류별로 테스트 한 글을 읽었는데


얼마전까지는 var가 let보다 압도적으로 빨랐지만 현재는 비슷한 수준까지 올라왔다고 한다.


하지만 섞어쓰는것은 제일느리고 var든 let이든 한가지를 골라서 쓰는게 가장 효율적이라고 한다. 

+ Recent posts