loose
이로운 개발하기
loose
전체 방문자
오늘
어제
  • 전체 (207)
    • ☕ Java (24)
    • 📘 Effective Java (9)
    • 🍃 Spring (48)
    • 📖 ORM (9)
    • ☸️ Kubernetes (13)
    • 🐧 Linux (5)
    • 🐋 Docker (5)
    • 🛠️ CI & CD (7)
    • 🕸️ Web (6)
    • 🔗 Distributed System (3)
    • 📜 Js (10)
    • 📈 Database (11)
    • 🗂️ Etc (34)
    • 🧑 Chitchat (11)
    • 📒 문학 (11)
    • 👜 개인 공부 창고 (1)

공지사항

반응형

최근 글

최근 댓글

loose

이로운 개발하기

[ES6] 비구조화 할당과 Spread & Rest
📜 Js

[ES6] 비구조화 할당과 Spread & Rest

2021. 2. 10. 16:12
반응형

비구조화 할당

const user = { name: 'stir', password: '1234' };

const { name, password } = user; //'stir', '1234'

Spread

const user = ['stir1', 'stir2']; 

const allUser = [...user, 'stir3']; //'stir1', 'stir2', 'stir3'

Rest

const user = { name: 'stir', password: '1234', id:'constant',};
const { name, ...test2 } = user; 
console.log(name); //stir
console.log(test2); //1234, constant
//rest는 나머지라는 뜻으로 name에는 이미 할당되어 있어서 나머지는 test2에 할당된다.

 

차이점

위의 문법은 전부 객체(Object)형, 배열(Array)형 둘다 사용 가능한 문법이다.

다만, 타입의 특성마다 조금씩 차이는 존재한다. 

const arr = ["1", "2", "3", "4"]
const [firstElement, ...rest] = arr
console.log(firstElement) // "a"

위 코드의 배열형은 firstElement가 정상적으로 출력된다.

const arr = {a:'1', b:'2',}
const {firstElement, ...rest} = arr
console.log(firstElement) // undefined

하지만 객체형은 출력하지 못한다.

const arr = {a:'1', b:'2',}
const {a, ...rest} = arr
console.log(a) // 1

위 코드 처럼 객체형은 같은 객체 이름으로 받아야만 출력이 가능하다.

728x90

'📜 Js' 카테고리의 다른 글

[JavaScript] 프로토타입 쓰는 이유, 목적 그리고 사용법  (0) 2022.12.18
React를 이용한 다른 색깔 찾기 게임 Clone Coding  (0) 2022.02.05
alert 위치 모를때 위치 찾는 법  (0) 2022.01.20
[ES6] Ajax(Callback, Promise, Async&Await)  (0) 2022.01.04
[ES6] Arrow Function(람다식 함수) 사용법 및 this  (0) 2021.02.08
    '📜 Js' 카테고리의 다른 글
    • React를 이용한 다른 색깔 찾기 게임 Clone Coding
    • alert 위치 모를때 위치 찾는 법
    • [ES6] Ajax(Callback, Promise, Async&Await)
    • [ES6] Arrow Function(람다식 함수) 사용법 및 this
    loose
    loose
    불만하는 사람은 90명, 해결하는 사람은 9명, 리드하는 사람은 1명 음악과 낭만을 좋아합니다.
    hELLO. 티스토리 스킨을 소개합니다.
    제일 위로

    티스토리툴바