반응형
Truthy & Falsy
- 자바스크립트는 boolean 타입이 아닌 값을 Truthy(참 같은 값), Falsy(거짓 같은 값)으로 구분한다.
- 따라서 조건문이나 반복문의 제어문에서 Truthy는 true로, Falsy는 false로 암묵적 형 변환이 일어난다.
- Falsy로 분류 되는 값은 다음과 같고 그 외 값들은 코두 Truthy로 분류된다.
- null, undefined, 0, NaN, " " (빈 칸)
const getName = (person) => {
if (!person) {
return "객체가 아닙니다.";
}
return person.name;
};
let person; // undefined
const name = getName(person);
console.log(name); // "객체가 아닙니다."
- 단락회로 평가를 이용하여 위 코드를 단축하여 작성
const getName = (person) => {
const name = person && person.name;
return name || "객체가 아닙니다.";
};
let person; // undefine
const name = getName(person);
console.log(name);
배열의 비구조화 할당
let [one, two, three] = ["one", "two", "three"];
console.log(one, two, three); // one two three
- 배열의 비구조화 할당을 이용한 swap
let a = 10;
let b = 20;
[a, b] = [b, a];
console.log(a, b); // 20 10
객체의 비구조화 할당
- 객체의 비구조화 할당은 key의 명칭을 기준으로 할당된다.
let object = {name : "이선호", age : 23};
let {name, age} = object;
console.log(name, age);
- 변수의 이름을 key 명칭과 다르게 하는 방법
let object = {name : "이선호", age : 23};
let {name: myName, age} = object;
console.log(myName, age);
Spread 연산자
- spread 연산자 (...) 를 통해 배열이나 객체 등 반복가능한 객체들을 개별 요소로 분리할 수 있다.
- 객체에서의 spread 연산자 활용
let cookie = { base : "cookie", madeIn : "korea" };
let chocoCookie = { ...cookie, topping : "choco" };
console.log(chocoCookie); // {base: "cookie", madeIn: "korea", topping: "choco"}
- 배열에서의 spread 연산자 활용
let arr1 = [1, 2, 3];
let arr2 = [...arr1, 4, 5, 6];
console.log(arr2); // [1, 2, 3, 4, 5, 6]
반응형
'Web-Frontend > JavaScript' 카테고리의 다른 글
[JS] fetch 메소드로 API 호출하기 (0) | 2023.01.15 |
---|---|
[JS] async & await (0) | 2023.01.05 |
[JS] 프로미스(Promise) (0) | 2023.01.05 |
[JS] 동기와 비동기 (0) | 2023.01.04 |
[JS] JavaScript 문법 정리 (0) | 2023.01.04 |