1. let
, const
var
를 대체할 수 있다. 2. 화살표 함수 (Arrow Function)
function add(){ }
var add = function (){}
var add = (x) => {
return 1;
};
var add = (x) => 1
3. 삼항 연산자 (ternary operator)
condition ? true 인 경우 : false인 경우;
console.log(true ? "참" : "거짓"); // 참
console.log(false ? "참" : "거짓"); // 거짓
console.log(1 === 1 ? "참" : "거짓"); // 참
console.log(1 !== 1 ? "참" : "거짓"); // 거짓
4. 구조 분해 할당 : (destructuring)
(de + structure + ing) de = not, structure = 구조
(1) 배열의 경우
let [value1, value2] = [1, "new"];
console.log("1", value1); //1
console.log("2", value2); //new
let arr = ["value1", "value2", "value3"];
let [a, b, c, d = 4] = arr; //값이 안들어올 것 같을 때는 초기값 지정 가능
console.log(a); //value1
console.log(b); //value2
console.log(c); //value3
console.log(d); // 4
(2) 객체의 경우
let user = { name: "nbc", age: 30 };
// 구조분해할당
let { name, age } = {
name: "nbc",
age: 30,
};
console.log(name, age); // nbc 30
let {name, age, birthDay} = user;
console.log(birthDay) // undefined
let {name, age, birthDay = "today"} = user; // 초기값 정해주기 가능
console.log(birthDay) // today
// 새로운 이름으로 할당
let user = { name: "nbc", age: 30 };
let { name: newName, age: newAge } = user;
//name을 빼서 가져오긴 할건데 그걸 newName에 넣겠다.
console.log(newName, newAge); //nbc 30
console.log(name, age); // ReferenceError: name is not defined (에러 발생)
//없는 내용을 선언하면 undefined가 뜬다
let user = { name: "nbc", age: 30 };
let { name, age, birthDay } = user;
console.log(birthDay); // undefined
let user = { name: "nbc", age: 30 };
let { name, age, birthDay = "today" } = user; // 초기값 정해주기 가능
console.log(birthDay); // today
5. 단축 속성명 (property shorthand)
const name = "nbc";
const age = "30";
// key - value
const obj = {name : name, age: newAge };
const obj1 = { name, age: newAge }
6. 전개 구문 (Spread Operator)
//배열
let arr = [1, 2, 3];
let newArr = [...arr, 4];
console.log(newArr); // [1,2,3,4]
//객체
let user = { name: "nbc", age: 30 };
let user2 = { ...user };
console.log(user); // { name: 'nbc', age: 30 }
console.log(user2); // { name: 'nbc', age: 30 }
7. 나머지 매개변수 (rest parameter)
function exampleFunc(a, b, c, ...args) {
console.log(a, b, c);
console.log(args);
}
exampleFunc(1, 2, 3, 4, 5, 6, 7);
// 1 2 3
// [ 4, 5, 6, 7 ]
8. 템플릿 리터럴 (Template literals)
const testValue = "안녕하세요";
console.log(`Hello, World ${testValue}`);
console.log(`Hello,
My name
is JavaScript`); //멀티라인ㅇ => 편의성 증가