728x90
1. Nullish Coalescing
function print(something){
const message = something ?? 'there is no message';
console.log(message);
}
something이 null/undefined 인 경우 "there is no message"가 message에 들어간다.
default parameter를 사용하면
undefined 인 경우에만 적용되고,
null인 경우에는 적용되지 않는다.
2. Object Destructuring
function printStudent(student){
const { name, age } = student;
console.log(name);
console.log(age);
}
객체의 반복을 줄이기 위해서 사용한다.
student.name, student.age로 반복해서 객체를 부르지 않아도 된다.
3. Spread Syntax
//object 합치기
const item = { type: 'phone', name: 'iphone pro' };
const detail = { price: 50, made: 'China' };
const iphone = { ...item, ...detail };
// 값을 덮어 씌우거나 추가할 수 있다.
iphone = { ...item, ...detail, made: 'Korea', size: 20 };
//array 합치기
let fruits = ['apple', 'banana', 'orange'];
let vegetables = ['carrot', 'onion', ''cucumber'];
let vegetarianFood = [...fruits, ...vegetables];
// 원하는 위치에 값을 추가할 수 있다.
vegetarianFood = [...fruits, 'strawberry', ...vegetables];
객체나 배열을 합치고 싶을 때 사용한다.
4. Optional Chaining
if(iphone?.price == 50{
...
}
?
를 사용해서 있는 경우에 안에 있는 값을 확인하도록 할 수 있다.
5. Array 내장 함수
- filter
원하는 조건의 아이템만 가져올 때 사용된다.const odd = items.filter(num => num % 2 == 1);
- map
배열 내 모든 아이템의 값을 변경하고 싶을 때 사용된다.const double = items.map(num => num * 2);
- reduce
배열 내 모든 값을 더하고 싶을 때 사용된다.const sum = items.reduce((a, b) => a + b, 0);
이게 연속적으로 일어난다면 chaining을 할 수 있다.
const reseult = items
.filter(num => num % 2 == 1)
.map(num => num * 2)
.reduce((a, b) => a + b, 0);
반응형
'개발공부 > JavaScript' 카테고리의 다른 글
문자열 원형과 String 객체의 차이 (0) | 2022.11.18 |
---|---|
[Vue.js] 생명주기(Life Cycle) 이해하기 (0) | 2022.02.24 |
함수형 프로그래밍의 특징 (0) | 2022.02.17 |
[JS] const, let 차이점 (0) | 2022.02.03 |
JavaScript에서 var을 쓰면 안되는 경우 (feat. var hoisting) (0) | 2022.01.18 |