Web-Frontend/JavaScript

[JS] 자바스크립트 문법 확장

서노리 2023. 1. 4. 23:39
반응형

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