๐Ÿ“– ๊ฐ์ฒด ๋ฆฌํ„ฐ๋Ÿด

c_yjยท2022๋…„ 6์›” 24์ผ
0

DeepDive

๋ชฉ๋ก ๋ณด๊ธฐ
7/42
post-thumbnail

โญ๏ธ ๊ฐ์ฒด๋ž€ ?

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๊ฐ์ฒด๊ธฐ๋ฐ˜์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ด๋ฉฐ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ฑฐ์˜ "๋ชจ๋“  ๊ฒƒ"์ด ๊ฐ์ฒด๋‹ค. ์›์‹œ ๊ฐ’์„ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ ๊ฐ’(ํ•จ์ˆ˜, ๋ฐฐ์—ด, ์ •๊ทœ ํ‘œํ˜„์‹ ๋“ฑ)์€ ๋ชจ๋‘ ๊ฐ์ฒด๋‹ค.
์›์‹œ ํƒ€์ž…์€ ๋‹จ ํ•˜๋‚˜์˜ ๊ฐ’๋งŒ ๋‚˜ํƒ€๋‚ด์ง€๋งŒ ๊ฐ์ฒด ํƒ€์ž…์€ ๋‹ค์–‘ํ•œ ํƒ€์ž…์˜ ๊ฐ’์„ ํ•˜๋‚˜์˜ ๋‹จ์œ„๋กœ ๊ตฌ์„ฑํ•œ ๋ณตํ•ฉ์ ์ธ ์ž๋ฃŒ๊ตฌ์กฐ๋‹ค. ๋˜ํ•œ ์›์‹œ ํƒ€์ž…์˜ ๊ฐ’, ์ฆ‰ ์›์‹œ ๊ฐ’์€ ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ฐ’์ด์ง€๋งŒ ๊ฐ์ฒด ํƒ€์ž…์˜ ๊ฐ’, ์ฆ‰ ๊ฐ์ฒด๋Š” ๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•œ ๊ฐ’์ด๋‹ค.

๊ฐ์ฒด๋Š” 0๊ฐœ ์ด์ƒ์˜ ํ”„๋กœํผํ‹ฐ๋กœ ๊ตฌ์„ฑ๋œ ์ง‘ํ•ฉ์ด๋ฉฐ, ํ”„๋กœํผํ‹ฐ๋Š” ํ‚ค์™€ ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค

`

  • โœ”๏ธ ํ”„๋กœํผํ‹ฐ

    ๊ฐ์ฒด๋Š” ํ”„๋กœํผํ‹ฐ์˜ ์ง‘ํ•ฉ์ด๋ฉฐ, ํ”„๋กœํผํ‹ฐ๋Š” ํ‚ค์™€ ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.
var person = {
  // ํ”„๋กœํผํ‹ฐ ํ‚ค๋Š” name, ํ”„๋กœํผํ‹ฐ ๊ฐ’์€ "Lee"
  name : 'Lee',
  // ํ”„๋กœํผํ‹ฐ ํ‚ค๋Š” age, ํ”„๋กœํผํ‹ฐ ๊ฐ’์€ 20
  age: 20
};
  • โœ”๏ธ ๋ฉ”์„œ๋“œ

    ํ”„๋กœํผํ‹ฐ ๊ฐ’์ด ํ•จ์ˆ˜์ผ ๊ฒฝ์šฐ ์ผ๋ฐ˜ ํ•จ์ˆ˜์™€ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•ด ๋ฉ”์„œ๋“œ๋ผ ๋ถ€๋ฅธ๋‹ค.
var circle = {
  radius: 5, // ํ”„๋กœํผํ‹ฐ
  
  // ์›์˜ ์ง€๋ฆ„
  getDiameter: function () { // ๋ฉ”์„œ๋“œ
    return 2 * this.radius;  // this๋Š” circle์„ ๊ฐ€๋ฆฌํ‚จ๋‹ค
  }
};

console.log(circle.getDiameter()); // 10
  • โœ”๏ธ ES6์—์„œ ์ถ”๊ฐ€๋œ ๊ฐ์ฒด ๋ฆฌํ„ฐ๋Ÿด์˜ ํ™•์žฅ ๊ธฐ๋Šฅ

    ES6์—์„œ๋Š” ํ”„๋กœํผํ‹ฐ ๊ฐ’์œผ๋กœ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋ณ€์ˆ˜ ์ด๋ฆ„๊ณผ ํ”„๋กœํผํ‹ฐ ํ‚ค๊ฐ€ ๋™์ผํ•œ ์ด๋ฆ„์ผ ๋–„ ํ”„๋กœํผํ‹ฐ ํ‚ค๋ฅผ ์ƒ๋žตํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋–„ ํ”„๋กœํผํ‹ฐ ํ‚ค๋Š” ๋ณ€์ˆ˜ ์ด๋ฆ„์œผ๋กœ ์ž๋™ ์ƒ์„ฑ๋œ๋‹ค.
let x = 1, y = 2;
// ํ”„๋กœํผํ‹ฐ ์ถ•์•ฝ ํ‘œํ˜„
const obj = {x,y};
console.log(obj); // {x:1, y:2}

ES6์—์„œ๋Š” ๊ฐ์ฒด ๋ฆฌํ„ฐ๋Ÿด ๋‚ด๋ถ€์—์„œ๋„ ๊ณ„์‚ฐ๋œ ํ”„๋กœํผํ‹ฐ ์ด๋ฆ„์œผ๋กœ ํ”„๋กœํผํ‹ฐ ํ‚ค๋ฅผ ๋™์  ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

const prefix = 'prop';
let i = 0;

const obj = {
  [`${prefix}-${++i}`]: i,
  [`${prefix}-${++i}`]: i,
  [`${prefix}-${++i}`]: i
};

console.log(obj); // {prop-1: 1, prop-2: 2, prop-3: 3}

ES6์—์„œ๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์ •์˜ํ•  ๋•Œ function ํ‚ค์›Œ๋“œ๋ฅผ ์ƒ๋žตํ•œ ์ถ•์•ฝ ํ‘œํ˜„์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

const obj = {
  name: 'Lee',
  // ๋ฉ”์„œ๋“œ ์ถ•์•ฝ ํ‘œํ˜„
  sayHi() {
    console.log('Hi! ' + this.name);
  }
};

obj.sayHi(); // Hi! Lee
profile
FrontEnd Developer

0๊ฐœ์˜ ๋Œ“๊ธ€