πŸ“Œ Language/Javascript

[JS] ꡬ쑰뢄해(Destructuring) (feat. μ‰½κ²Œ λ³€μˆ˜ λ§Œλ“€κΈ°)

Fomagran πŸ’» 2022. 2. 5. 05:31
728x90
λ°˜μ‘ν˜•

 

μ•ˆλ…•ν•˜μ„Έμš” Foma πŸ’» μž…λ‹ˆλ‹€!

 

μ˜€λŠ˜μ€ JavaScriptμ—μ„œ μ•„μ£Ό μœ μš©ν•˜κ²Œ λ³€μˆ˜λ₯Ό λ§Œλ“€ 수 μžˆλŠ” ꡬ쑰뢄해에 λŒ€ν•΄ μ•Œμ•„λ³΄λ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€.

 

λ°”λ‘œ μ‹œμž‘ν• κ²Œμš”~


λ°°μ—΄ λΆ„ν•΄ν•΄μ„œ λ³€μˆ˜ λ§Œλ“€κΈ°

 

λŒ€κ΄„ν˜Έλ₯Ό μ΄μš©ν•΄μ„œ λ³€μˆ˜μ— 값을 ν• λ‹Ήν•  수 μžˆμŠ΅λ‹ˆλ‹€.

 

let arr = ["foma","gran"]
let [foma,gran] = arr
console.log(foma) //"foma"
console.log(gran) //"gran"

λ¬Έμžμ—΄ λΆ„ν•΄ν•΄μ„œ λ³€μˆ˜ λ§Œλ“€κΈ°

 

λ¬Έμžμ—΄μ„ μ›ν•˜λŠ” λ‹¨μœ„λ‘œ λΆ„ν•΄ν•˜μ—¬ λ³€μˆ˜λ‘œ λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆλ‹€.

 

let fomagran = "foma,gran"
let [foma,gran] = fomagran.split(',')
console.log(foma) //"foma"
console.log(gran) //"gran"

μ›ν•˜λŠ” μš”μ†Œλ§Œ λ§Œλ“€κΈ°

 

μ‰Όν‘œμ™€ 곡백을 μ΄μš©ν•˜μ—¬ κ±΄λ„ˆ λ›Έ 수 있고 μ›ν•˜λŠ” κΈΈμ΄κΉŒμ§€λ§Œ λ³€μˆ˜λ‘œ λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆλ‹€.

 

let names = ["foma"."gran","fomagran","young"]
let [foma, ,fomagran] = names
console.log(foma) //foma
console.log(fomagran) //fomagran

λ‚˜λ¨Έμ§€ ν•œ λ²ˆμ— λ¬Άμ–΄μ„œ μ§€μ •ν•˜κΈ°

 

...을 μ΄μš©ν•΄μ„œ 남은 λ³€μˆ˜λ“€μ„ λͺ¨λ‘ 담을 수 μžˆμŠ΅λ‹ˆλ‹€.

 

let names = ["foma"."gran","fomagran","young"]
let [foma,gran,...rest] = names
console.log(foma) //foma
console.log(rest) //["fomagran","young"]

객체 λΆ„ν•΄ν•˜κΈ°

 

κ°μ²΄λŠ” λ°°μ—΄μ΄λ‚˜ λ¬Έμžμ—΄κ³Ό λ‹€λ₯΄κ²Œ μ€‘κ΄„ν˜Έλ₯Ό μ‚¬μš©ν•˜μ—¬ λ³€μˆ˜λ₯Ό μ§€μ •ν•©λ‹ˆλ‹€.

 

let user = {
    name:"fomagran",
    age:27,
    color:"Black"
}
let {name,age,color} = user
console.log(name) //"fomagran"

 

ν”„λ‘œνΌν‹°λͺ…:μ›ν•˜λŠ” μ΄λ¦„μœΌλ‘œ μ§€μ •ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

 

let {name:n,age:a,color:c} = user
print(n) //"fomagran"

 

ν”„λ‘œνΌν‹°κ°€ 없을 λ•Œλ‚˜ 값이 없을 λ•Œλ₯Ό λŒ€λΉ„ν•˜μ—¬ 기본값을 μ„€μ •ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

 

let {name:n = "Fomagran",age:a = 27,color:c = "Blue",food:f = "Rice"} = user
print(f) //"Rice"

쀑첩ꡬ쑰 λΆ„ν•΄ν•˜κΈ°

 

μ€‘μ²©μœΌλ‘œ λ˜μ–΄μžˆλŠ” ꡬ쑰가 μžˆλ‹€λ©΄ μ€‘κ΄„ν˜Έ μ•ˆμ— μ€‘κ΄„ν˜Έλ‚˜ λŒ€κ΄„ν˜Έλ₯Ό μ‚¬μš©ν•˜μ—¬ 값을 μ§€μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

 

let options = {
    size: {
        width:100,
        height:90
    },
    items:["Cake","Donut"],
    isOkay:false
}

let {size:{width,height},items:[item1,item2]} = options
console.log(width) //100
console.log(item1)//"Cake"

νŒŒλΌλ―Έν„°λ‘œ λΆ„ν•΄ν•˜κΈ°

 

νŒŒλΌλ―Έν„°λ‘œ 객체λ₯Ό 받을 λ•Œ λΆ„ν•΄ν•˜μ—¬ 값을 μ–»μ–΄λ‚Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

 

function showOption({title = "title",items:[item1,item2]}) {
    print(`${title} ${item1} ${item2}`)
}
showOption(options)
// title Cake Donut

Reference

 

λͺ¨λ“  JS 지식은 λͺ¨λ˜ JavaScript νŠœν† λ¦¬μ–Όμ„ 톡해 ν•™μŠ΅ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

 

 

λͺ¨λ˜ JavaScript νŠœν† λ¦¬μ–Ό

 

ko.javascript.info

 

728x90
λ°˜μ‘ν˜•