javascript es6 기초 배우기 001 - var, let, const, String Literal
1 분 소요
var, let, const
javascript에서 쓰이는 var 변수는 유연하지만 여러면에서 문제점이 있음
var
var의 스코프는 function임
// function 내부의 hello가 먼저 실행되고, 이후에 바깥의 hello가 실행됨varhello='world';functiontest(){varhello='korea';console.log(hello);}test();console.log(hello);/* result
korea
world
*/
// 외부의 hello를 덮어버림varhello='world';if(true){varhello='korea';console.log(hello);}console.log(hello);/* result
korea
korea
*/
변수 재선언이 가능
// 같은 이름의 변수를 중복 선언됨varhello='world';varhello='korea';console.log(hello);/* result
korea
*/
let
let은 변수를 선언한 block에서만 유효함
lethello='world';if(true){lethello='korea';console.log(hello);}console.log(hello);/* result
korea
world
*/
const
const 역시 변수를 선언한 block에서만 유효함
const는 변수의 값을 변경할 수 없음
constnum=5;num=6;console.log(num);/* Result
ERROR
*/
객체나 배열로 선언된 const는 값을 변경 가능
constdrinks={};drinks.caffe='latte';drinks.lemon='ade';console.log(drinks);/* Result
{
caffe:'latte',
lemon:'ade'
}
*/constarr=[1,2,3,4,5];arr[0]=100;arr[4]=500;console.log(arr);/* Result
[ 100, 2, 3, 4, 500 ]
*/
String Literal
백틱(``)을 이용해서 String을 연결가능
constval01='Hello';constval02='World';constval03=val01+''+val02+'!!!!!';console.log(val03);/* Result
Hello World!!!!!
*/constlitVal=`${val01}${val02}!!!!!`;console.log(litVal);/* Result
Hello World!!!!!
*/