자바스크립트 구조분해 할당
구조분해할당
익숙한 내용들이기 때문에 새롭게 알게된 내용들만 정리하려고 한다.
배열
let [name1, name2, ...rest] = ["Julius", "Caesar", "Consul", "of the Roman Republic"];
console.log(rest) // ["Consul", "of the Roman Republic"]
rest에는 변수가 정의되지 않은 나머지 부분들이 배열로 담겨 있다.
*rest말고 다른 이름을 사용해도 된다.
let [firstName, surname] = []; 할당값이 없다? undefined 반환.
객체
let obj = {title: 'Man'}
let {width = 100, height = 100, title} = obj
obj에 width와 height는 없지만 기본값을 주어 사용할 수 있다.
*그렇다고 obj.width가 추가되는건 아니다 // undefined
함수
객체를 함수 인자로 사용할 때 구조분해하여 인자에 사용할 수 있다.
let options = { title: "My menu", items: ["Item1", "Item2"]};
add(options)
function add({title, width = 100, height = 100, item: [i1,i2] })
*반드시 인자가 전달된다고 가정을 하고 사용해야한다.
즉 전달인자가 없을 때 add()가아닌 add({}) 또는 add()로 실행하고
function add({title, width = 100, height = 100, item: [i1,i2] } = {} )
함수 인자의 기본값을 빈객체로 만들어주는 것이다.
참고
Author And Source
이 문제에 관하여(자바스크립트 구조분해 할당), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@gytlr01/자바스크립트-구조분해-할당저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)