22.12.05 유용한 ES6 문법

Gon·2022년 12월 5일
0

Javascript

목록 보기
6/8
post-thumbnail

자주 사용 되는 문법

1. let, const

var를 대체해서 나온 변수 선언에 사용 되는 키워드

1) 특징

  • let: 재할당은 가능하고, 재선언은 불가능 (변수)
let value = "value1"
console.log(value) // value1 출력

value = "value2" // 재할당 가능
console.log(value) // value2 출력

let value = "value3" // 에러 재선언 불가능
  • const: 재할당, 재선언이 불가능, 초기값이 없으면 선언 불가능 (상수)
const value; // 에러 초기값 없이 선언 불가능
const value = "value1"
console.log(value) // value1 출력

value = "value2" // 에러 재할당 불가능

const value = "value2" // 에러 재선언 불가능

2. 화살표함수

function이나 return 키워드 없이 함수를 만드는 방법

// ES5
function func() {
	return true
}

//ES6
const func = () => true
const func = () => {
	return true
}

() => {}
parm => {}
(parm1, parm2, ...parms) -> {}

// 익명 화살표 함수
() => {}
  • this

function은 호출을 할 때 this가 정해지지만, 화살표 함수는 선언할 때 this가 정해진다.

3. 삼항 연산자

if문과 같은 역할을 함

condition ? expr1 : expr2

console.log(true ? "참" : "거짓") // 참
console.log(false ? "참" : "거짓") // 거짓

4. 구조 분해 할당

배열이나 객체의 속성을 분해해서 그 값을 변수에 담을 수 있게 해주는 문법

// 배열의 경우
let [value1, value2] = [1, "new"];
console.log(value1); // 1
console.log(value2); // "new"

let arr = ["value1", "value2", "value3"];
let [a,b,c] = arr;
console.log(a,b,c) // value1 value2 value3

// let [a,b,c] = arr; 은 아래와 동일!
// let a = arr[0];
// let b = arr[1];
// let c = arr[2];

let [a,b,c,d] = arr
console.log(d) // undefined

let [a,b,c,d = 4] = arr
console.log(d) // 4
// 객체의 경우
let user = {name: "nbc", age: 30};
let {name, age} = user;

// let name = user.name;
// let age = user.age;

console.log(name, age) // nbc 30

// 새로운 이름으로 할당
let {name: newName, age: newAge} = user;
console.log(name, age) // ReferenceError: name is not defined
console.log(newName, newAge) //nbc 30

let {name, age, birthDay} = user;
console.log(birthDay) // undefined

let {name, age, birthDay = "today"} = user;
console.log(birthDay) // today

5. 전개 구문

배열이나 객체를 전개하는 문법(...)

// 배열
let arr = [1,2,3];

let newArr = [...arr, 4];
console.log(newArr) // [1,2,3,4]

// 객체
let user = {name: "abc", age: 20};
let user2 = {...user}

user2.name = "abc2"

console.log(user.name) // abc
console.log(user2.name) // abc2

6. 템플릿 리터럴

여러 줄로 이뤄진 문자열과 문자 보간기능을 사용하게 만들어 주는 문자열 리터럴 표현식
백틱( ` ) 과 ${ }로 표현한다.

"string"
'string'
new String("string")

`string text`

`string text 
string text line2`

`string text ${value} text`

0개의 댓글