destructuring-assignment

๊ตฌ์กฐ ๋ถ„ํ•ด ํ• ๋‹น

๊ฐ์ฒด๋‚˜ ๋ฐฐ์—ด์„ ๋ณ€์ˆ˜๋กœ ๋ถ„ํ•ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ํŠน๋ณ„ํ•œ ๋ฌธ๋ฒ•

๋ฐฐ์—ด ๋ถ„ํ•ด

์‚ฌ์šฉ๋ฒ•

let arr = ['Bora', 'Lee'];

let [firstName = 'First', surname = 'last'] = arr;

alert(firstName); // Bora
alert(surname); // Lee

ํŠน์ง•

  • ์šฐ์ธก์—๋Š” ๋ฐฐ์—ด ๋ฟ๋งŒ์ด ์•„๋‹Œ ๋ชจ๋“  ์ดํ„ฐ๋Ÿฌ๋ธ”์ด ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

    let [firstName, surname] = 'Bora Lee'.split(' ');
    alert(firstName); // Bora
    alert(surname); // Lee
    let [one, two, three] = new Set([1, 2, 3]);
  • ๋ณ€์ˆ˜ ๊ตํ™˜ํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

    let guest = 'Jane';
    let admin = 'Pete';
    
    [guest, admin] = [admin, guest];
  • ...์œผ๋กœ ๋‚˜๋จธ์ง€ ์š”์†Œ๋ฅผ ๋ฐฐ์—ด๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

    let [name1, name2, ...rest] = ['kim', 'lee', 'hong', 'No'];
    
    alert(rest.length); //2
  • ํ• ๋‹นํ•  ๊ฐ’์ด ์—†์œผ๋ฉด undefined ์ทจ๊ธ‰ํ•œ๋‹ค

    let [first, last] = [];
    alert(first); //undefined
    alert(last); //undefined

๊ฐ์ฒด ๋ถ„ํ•ด

์‚ฌ์šฉ๋ฒ•

์•„๋ž˜ ๋ณด์ด๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์ˆœ์„œ๊ฐ€ ๋ฐ”๋€Œ์–ด๋„ key์— ์ƒ์‘ํ•˜๋Š” ๋ณ€์ˆ˜์— ์—ฐ๊ฒฐ์ด ๋œ๋‹ค.

ํŠน์ง•

  • ๋ณ€์ˆ˜๋ช…์„ key๊ฐ’์ด ์•„๋‹Œ ๋ชฉํ‘œ ๋ณ€์ˆ˜(๋ณ„์นญ)๋กœ ์„ค์ • ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • let์œผ๋กœ ์ƒˆ๋กœ์šด ๋ณ€์ˆ˜ ์„ ์–ธ์ด ์•„๋‹Œ ๊ธฐ์กด ๋ณ€์ˆ˜๋ฅผ ์ด์šฉํ•ด ํ• ๋‹น์ด ๊ฐ€๋Šฅํ•˜๋‹ค

    ์ด๋•Œ, ()๋กœ ์•ˆ๋ฌถ์–ด ์ฃผ๋ฉด {}๋ฅผ ํ‘œํ˜„์‹์ด ์•„๋‹Œ ์ฝ”๋“œ๋ธ”๋Ÿญ์œผ๋กœ ์ธ์‹ํ•˜์—ฌ ์—๋Ÿฌ๊ฐ€ ๋‚œ๋‹ค.

  • ํ•จ์ˆ˜์˜ ์ธ์ž๋กœ ๊ฐ์ฒด๋ฅผ ์ „๋‹ฌ์‹œ ์ž๋™์œผ๋กœ ๋ถ„ํ•ดํ•ด์„œ ์‚ฌ์šฉํ•œ๋‹ค.

Last updated