Front/JavaScript

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

ddo04 2024. 7. 6. 01:02
728x90

๐Ÿ›Ž๏ธโ€Š ๊ตฌ์กฐ๋ถ„ํ•ดํ• ๋‹น

  • ๋ฐฐ์—ด ๋˜๋Š”๊ฐ์ฒด์˜ ๊ตฌ์กฐ๋ฅผ ๋ถ„ํ•ดํ•ด์„œ ๋ถ„ํ•ด๋œ ๊ฐ’์„ ๊ฐœ๋ณ„์ ์ธ ๋ณ€์ˆ˜์— ๋‹ด๋Š” ํ‘œํ˜„์‹์„ ์˜๋ฏธ
  • ๊ฐ๊ฐ์˜ ์š”์†Œ๋ฅผ ์„œ๋กœ ๋‹ค๋ฅธ ๋ณ€์ˆ˜์˜ ๊ฐ’์œผ๋กœ ์ €์žฅ์„ ํ•˜๋ ค๋ฉด ๊ฐ๊ฐ์˜ ์ธ๋ฑ์Šค๋กœ ์š”์†Œ์— ์ ‘๊ทผ์„ ํ•ด์„œ ๋ณ€์ˆ˜์˜ ๊ฐ’์œผ๋กœ ์ง€์ •
  • ๋ฐฐ์—ด ๋‚ด๋ถ€์˜ ๊ฐ’์„ ์ƒˆ๋กœ์šด ๋ณ€์ˆ˜์— ๊ฐ๊ฐ ํ• ๋‹นํ•˜๊ณ ์ž ํ•œ๋‹ค๋ฉด ํ•˜๋‚˜์”ฉ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ณ   ๊ฐ’์„ ํ• ๋‹นํ•˜๋Š” ๊ณผ์ •์„ ๊ฑฐ์นจ
const arr = [1, 2, 3, 4, 5];

const one = arr[0];
const two = arr[1];
const three = arr[2];

๐Ÿ›Ž๏ธโ€Š ๋ฐฐ์—ด์˜ ๊ตฌ์กฐ๋ถ„ํ•ดํ• ๋‹น

  • ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ณ  ํ• ๋‹นํ•˜๋Š” ๊ณผ์ •์„ ํ•œ ๋ฒˆ์— ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Œ
  • ๋Œ€์—ด์„ ์˜†์—๋‹ค๊ฐ€ ์šฐ์ธก์—๋‹ค๊ฐ€ ์ž‘์„ฑ์„ ํ•ด์ฃผ๋ฉด ์˜ค๋ฅธ์ชฝ์— ์ฃผ์–ด์ง„ ๋ฐฐ์—ด์„ ๊ตฌ์กฐ ๋ถ„ํ•ดํ•ด์„œ ์ขŒ๋ณ€์— ์œ„์น˜ํ•˜๊ณ  ์žˆ๋Š”  ๋ณ€์ˆ˜๋“ค์— ๊ฐ๊ฐ ํ• ๋‹นํ•˜๊ฒŒ ๋จ
const arr = [1, 2, 3, 4, 5];

const [one, two, three] = arr;

console.log(one, two, three);
  • ์ผ๋ฐ˜ ๋ณ€์ˆ˜์™€ ๋™์ผํ•˜๊ฒŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ 

๐Ÿ›Ž๏ธโ€Š ๊ฐ์ฒด์˜ ๊ตฌ์กฐ๋ถ„ํ•ดํ• ๋‹น

  • ํ”„๋กœํผํ‹ฐ์˜ ๊ฐ’๋“ค์„ ๊ฐ๊ฐ์˜ ๋ณ€์ˆ˜๋กœ ๊ตฌ์กฐ ๋ถ„ํ•ด ํ•Ÿ๋‹น์„ ํ•˜๋ ค๋ฉด ์ค‘๊ด„ํ˜ธ๋ฅผ ์—ด์–ด ํ‚ค๋ฅผ ์ง€์ •ํ•˜๊ณ  ์šฐ๋ณ€์— ๊ตฌ์กฐ๋ฅผ ๋ถ„ํ•ดํ•  ๊ฐ์ฒด ์ง€์ •
const obj = {
    x : 10,
    y : 20,
};

const {x,y} = obj;

console.log(x,y);

๐Ÿ›Ž๏ธโ€Š ํ• ๋‹นํ•  ๋•Œ ๋ณ€์ˆ˜๋ช… ์ง€์ •

  • ํ‚ค ๊ฐ’ ๋’ค์— ์ฝœ๋ก ์„ ๋ถ™์ด๊ณ  ๋ณ€๊ฒฝํ•  ์ด๋ฆ„์„ ์ง€์ •
const obj = {
    x : 10,
    y : 20,
};

const {x : hello ,y : world} = obj;

console.log(hello ,world);

๐Ÿ›Ž๏ธโ€Š ๊ฐ์ฒด์˜ ์ค‘์ฒฉ ๊ตฌ์กฐ๋ถ„ํ•ดํ• ๋‹น

  • ์ค‘์ฒฉ ๊ด€๊ณ„๋ฅผ ์ฝœ๋ก ๊ณผ ์ค‘๊ด„ํ˜ธ๋กœ ํ‘œํ˜„
const obj = {
    one: {
        two:{
            three: 'Bingo',
        },
    },
};

const {
    one: {
        two:{ three },
    },
} = obj;

console.log(three);

๐Ÿ›Ž๏ธโ€Š ํ•จ์ˆ˜์™€ ๊ตฌ์กฐ๋ถ„ํ•ดํ• ๋‹น

  • ํ•จ์ˆ˜์˜ ์ธ์ž๋ฅผ ๋ฐ›์„ ๋•Œ ๊ตฌ์กฐ ๋ถ„ํ•ด๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•
  • ํ•จ์ˆ˜์—์„œ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ๋ฐ›์•„์„œ ํ”„๋กœํผํ‹ฐ์— ์ „ํ‘œ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•ด์„œ ์ ‘๊ทผ
  • ์ •ํ™•ํžˆ ๊ฐ’์„ ์•Œ๋ฉด ์ธ์ž๋ฅผ ์ •์˜ํ•˜๋Š” ๋ถ€๋ถ„์— ๊ตฌ์กฐ ๋ถ„ํ•ด๋ฅผ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Œ
  • ๊ฐ์ฒด๋ฅผ ์˜๋ฏธํ•˜๋Š” ์ค‘๊ด„ํ˜ธ๋ฅผ ์—ด๊ณ  ์‚ฌ์šฉํ•  ํ”„๋กœํผํ‹ฐ์˜ ํ‚ค ๊ฐ’์„ ์ž‘์„ฑ
  • ๋‚ด๋ถ€์—์„œ ํ‚ค ๊ฐ’์ด ๋ณ€์ˆ˜ ์ด๋ฆ„์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋จ 
const obj = {
    x: 10,
    y: 20,
};

function sum(obj){
    return obj.x + obj.y;
}

console.log(sum(obj));


const obj = {
    x: 10,
    y: 20,
};

function sum({x, y}){
    return x + y;
}

console.log(sum(obj));

๐Ÿ›Ž๏ธโ€Š ๊ตฌ์กฐ๋ถ„ํ•ดํ• ๋‹น ์˜ˆ์ œ

  1.  ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ๊ตํ™˜ 
  • ๊ฐ’์ด ๋‹ค๋ฅธ ๋‘ ๊ฐœ์˜ ๋ณ€์ˆ˜๊ฐ€ ์žˆ์„ ๋•Œ ๋‘ ๊ฐœ์˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด ์ƒˆ๋กœ์šด ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด์„œ temp๋ผ๋Š” ๋ณ€์ˆ˜์—๋‹ค๊ฐ€ a๊ฐ’์„ ์ €์žฅํ•ด๋†“๊ณ  a์—๋‹ค b์˜ ๊ฐ’์„ ๋ฎ์–ด์”Œ์šฐ๊ณ  b์—๋Š” temp์— ์ €์žฅํ•ด ๋†จ๋˜ a์˜ ๊ฐ’์„ ๋ฎ์–ด์”Œ์›Œ์„œ ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ๊ตํ™˜
  • ๊ตฌ์กฐ๋ถ„ํ•ด์žฌํ• ๋‹น ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ด์„œ a๋ž‘ b์—๋‹ค๊ฐ€ b๋ž‘ a์˜ ๊ฐ’์„ ๋„ฃ์œผ๋ฉด ์ฃผ๊ฐœ์˜ ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ์ˆ˜ํ•ฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋จ
let a = 123;
let b = 456;

[a, b] = [b, a];
  1.  ๊ตฌ์กฐ๋ถ„ํ•ดํ• ๋‹น์—๋‹ค ๊ธฐ๋ณธ๊ฐ’์„ ๋ฏธ๋ฆฌ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Œ
  • ํ• ๋‹น ๋ฐ›์„ ๋ณ€์ˆ˜๋Š” ๋‘ ๊ฐœ์ธ๋ฐ ํ• ๋‹นํ•  ๊ฐ’์€ ํ•˜๋‚˜์ธ ๊ฒฝ์šฐ
  •  a์—๋Š” ์ง€์ •ํ•œ ๊ฐ’์ด ๋“ค์–ด๊ฐ”๋Š”๋ฐ ๊ฐ’์ด ๋ถ€์กฑํ•˜์—ฌ b์—๋Š” ๊ธฐ๋ณธ๊ฐ’์ธ undefined๋กœ ์„ค์ •๋˜์–ด ์žˆ์Œ
  • ๋ณ€์ˆ˜ ์ด๋ฆ„์„ ์ง€์ •ํ•œ ๋ถ€๋ถ„ ์šฐ์ธก์— ๋“ฑํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ๋ณธ๊ฐ’์„ ์ง€์ •ํ•ด ์ค„ ์ˆ˜ ์žˆ์Œ
  • ๊ฐ’์ด ๋“ค์–ด์˜ค๋ฉด ๋“ค์–ด์˜จ ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™”๋˜์ง€๋งŒ ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ์—๋Š” ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™”
const [a = 10, b = 20] = [10];

console.log(a, b);
  1.  ์ค‘๊ฐ„๊ฐ’์„ ์ƒ๋žตํ•˜๊ณ  ๊ตฌ์กฐ๋ถ„ํ•ดํ• ๋‹น์„ ํ•˜๋Š” ๋ฐฉ๋ฒ•
  • ๊ตฌ์กฐ๋ฅผ ๋ถ„ํ•ดํ•ด์„œ ๊ฐ€์ ธ์˜ค๊ณ  ์‹ถ์€ ๊ฐ’์ด  ์ค‘๊ฐ„์— ์–ด๋–ค ๊ฐ’์„ ๊ฑด๋„ˆ๋›ฐ๊ณ  ๊ฐ€์ง€๊ณ  ์˜ค๊ณ  ์‹ถ๋‹ค๋ฉด ๋ณ€์ˆ˜ ์ด๋ฆ„์„ ์ ๋Š”๋ฐ ๊ฑด๋„ˆ๋›ธ ๋ถ€๋ถ„์€ ์•„๋ฌด๊ฒƒ๋„ ์ ์ง€ ์•Š๊ณ  ์‰ผํ‘œ๋งŒ ํ‘œ์‹œ
const arr = [1, 2, 3, 4, 5];

const [one, ,three, ,five] = arr;

console.log(one,three,five);
  1. ๋‚˜๋จธ์ง€ ์š”์†Œ๋ฅผ ๋‚˜๋จธ์ง€ ์ธ์ž ๊ตฌ๋ฌธ์„ ํ™œ์šฉํ•ด์„œ ํ•œ ๋ฒˆ์— ๊ฐ€์ ธ์˜ฌ ์ˆ˜๋„ ์žˆ์Œ
  • ๋‘ ๊ฐœ์˜ ๋ณ€์ˆ˜๋ฅผ ๊ฐ€์ง€๊ณ  ์˜ฌ๊ฑฐ๊ณ  ๋‚˜๋จธ์ง€๋Š” ์ ์ ์ ํ•˜์—ฌ others๋ฅผ ๋ถ™์—ฌ์„œ ์‚ฌ์šฉ
const arr = [1, 2, 3, 4, 5];

const [one, two, ...others] = arr;

console.log(one, two, others);
  • ์•ž ๋‘ ๊ฐœ๋Š” ๊ฐ๊ฐ์˜ ๋ณ€์ˆ˜๋กœ ์ž˜ ๋“ค์–ด์™”๊ณ  ๋งˆ์ง€๋ง‰ ์—ฌ์†Œ๋Š” ํ•˜๋‚˜์˜ ๋ฐฐ์—ด๋กœ ๋ฆฌํ„ด

'Front > JavaScript' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[JavaScript] ์ด๋ฒคํŠธ  (0) 2024.07.07
[JavaScript] DOM  (0) 2024.07.06
[JavaScript] ๊ฐ์ฒด  (0) 2024.07.05
[JavaScript] ๋ฉ”์†Œ๋“œ  (0) 2024.07.05
[JavaScript] JS ํ•จ์ˆ˜  (0) 2024.07.05