๐Ÿ” JavaScript ๊ธฐ๋ณธ

๊น€์ˆ˜์ง„ยท2025๋…„ 7์›” 3์ผ

ํ•œ ์ž… ํฌ๊ธฐ๋กœ ์ž˜๋ผ ๋จน๋Š” ๋ฆฌ์•กํŠธ ์„น์…˜ 2 - JavaScript ๊ธฐ๋ณธ

VsCode ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์น˜

1. ์ฝ”๋“œ ์ •๋ ฌ ํ”Œ๋Ÿฌ๊ทธ์ธ


Prettier ๋ฅผ ์„ค์น˜ํ•˜๊ณ ,

Ctrl + , ๋ฅผ ๋ˆŒ๋Ÿฌ์„œ ์„ค์ •์— ๋“ค์–ด๊ฐ„ ํ›„, format on save ๋ฅผ ํ•ด์ค€๋‹ค.

๊ฐ•์˜์—์„ Shift + S๋ฅผ ๋ˆ„๋ฅด๋ฉด ์ •๋ ฌ๋œ๋‹ค๊ตฌ ํ–ˆ๋Š”๋ฐ... ์ ์šฉ์ด ์•ˆ๋˜์—ˆ๋‹ค. ์Šน์œค์„ ๋ฐฐ๋‹˜๊ป˜์„œ Default Formatter๋ฅผ Prettier๋กœ ๋ฐ”๊ฟ”์ค˜์•ผํ•œ๋‹ค๊ณ  ์•Œ๋ ค์ฃผ์…จ๋‹ค ... ๊ตฟ

2. ์•„์ด์ฝ˜ ํ”Œ๋Ÿฌ๊ทธ์ธ


Material Icon Theme ์„ ์„ค์น˜ํ•œ ํ›„, ์œ„์— ํŒŒ์ผ ์•„์ด์ฝ˜ ํ…Œ๋งˆ ์„ ํƒ์—์„œ Material Icon Theme ์„ ์„ ํƒํ•ด์ฃผ๋ฉด,

๋” ์˜ˆ์˜๊ฒŒ ๋ฐ”๋€ ์•„์ด์ฝ˜์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

3. ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€ ํ”Œ๋Ÿฌ๊ทธ์ธ


Error Lens ๋ฅผ ์„ค์น˜ํ•˜๋ฉด

์—๋Ÿฌ์— ๋Œ€ํ•œ ์„ค๋ช…์„ ํ•ด์ฃผ๋Š” ์„ค์ •์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

4. ๋ผ์ด๋ธŒ ์„œ๋ฒ„ ํ”Œ๋Ÿฌ๊ทธ์ธ


Live Server ๋ฅผ ์„ค์น˜ํ•ด์ค€ ํ›„,

index.html ํŒŒ์ผ์—์„œ Ctrl + Shift + P๋ฅผ ๋ˆŒ๋Ÿฌ์„œ ์ƒ๋‹จ์— Live Server: Open with Live Server ๋ฅผ ์„ ํƒํ•ด์ฃผ๋ฉด,

๋ธŒ๋ผ์šฐ์ €์— ์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋“  index.html ํŒŒ์ผ์„ ์—ด ์ˆ˜๊ฐ€ ์žˆ๋‹ค.

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐœ๋…

1. ๋ณ€์ˆ˜

let์œผ๋กœ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•œ๋‹ค.
์ค‘๋ณต ์„ ์–ธ์€ ๋ถˆ๊ฐ€ํ•˜๋‹ค.

2. ์ƒ์ˆ˜

์ƒ์ˆ˜๋Š” ํ•œ ๋ฒˆ ์„ ์–ธํ•˜๋ฉด ๋ฐ”๊ฟ€ ์ˆ˜ ์—†๋Š” ๊ฐ’์ด๋‹ค. (Uncaught TypeError๊ฐ€ ๋œฌ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. )

์ƒ์ˆ˜๋Š” ๋ฌด์กฐ๊ฑด ์ดˆ๊ธฐํ™”๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

3. ๋ณ€์ˆ˜ ๋ช…๋ช…๊ทœ์น™

3.1. $, _ ์ œ์™ธํ•œ ๊ธฐํ˜ธ๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.
3.2. ์ˆซ์ž๋กœ ์‹œ์ž‘ํ•  ์ˆ˜ ์—†๋‹ค.
3.3. ์˜ˆ์•ฝ์–ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.

JavaScript์˜ ์ž๋ฃŒํ˜• (Data Type)

1.1 ์›์‹œ ํƒ€์ž…

1.1.1 ์ˆซ์ž ํƒ€์ž…

  1. Infinity: ์–‘์˜ ๋ฌดํ•œ๋Œ€
  2. -Infinity: ์Œ์˜ ๋ฌดํ•œ๋Œ€
  3. NaN: ์‚ฐ์ˆ  ์—ฐ์‚ฐ ๋ถˆ๊ฐ€(not-a-number)

1.1.2 ๋ฌธ์ž์—ด ํƒ€์ž…

ํ…œํ”Œ๋ฆญ ๋ฆฌํ„ฐ๋Ÿด ๋ฌธ๋ฒ• : ๋ฐฑํ‹ฑ (``)

let introduceText = `${myName}์€ ${myLocation}์— ๊ฑฐ์ฃผํ•ฉ๋‹ˆ๋‹ค`;

1.1.3 ๋ถˆ๋ฆฌ์•ˆ ํƒ€์ž…

True / False

1.1.4 null ํƒ€์ž…

"์•„๋ฌด๊ฒƒ๋„ ์—†๋‹ค"
undefined ์™€๋Š” ๋‹ค๋ฅด๊ฒŒ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ช…์‹œ์ ์œผ๋กœ '๊ฐ’์ด ์—†๋‹ค!' ๋ฅผ ํ‘œ์‹œํ•˜๋ ค๊ณ  ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

let empty = null;

1.1.5 undefined ํƒ€์ž…

์ดˆ๊ธฐํ™”ํ•˜์ง€ ์•Š์•˜๊ฑฐ๋‚˜, ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ฐ’์„ ๋ถˆ๋Ÿฌ์˜ค๋ ค๊ณ  ํ•  ๋•Œ ์ถœ๋ ฅ๋œ๋‹ค.

let none;
console.log(none);

1.1.6 ์‹ฌ๋ฒŒ ํƒ€์ž…

1.2 ๊ฐ์ฒด ํƒ€์ž…

1.2.1 ๊ฐ์ฒด

1.2.2 ํ•จ์ˆ˜

1.2.3 ๋ฐฐ์—ด

ํ˜• ๋ณ€ํ™˜

1.1 ๋ฌต์‹œ์  ํ˜• ๋ณ€ํ™˜

๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ์„ค์ •ํ•˜์ง€ ์•Ÿ์•„๋„ ์•Œ์•„์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์ด ํ˜• ๋ณ€ํ™˜ ํ•˜๋Š” ๊ฒƒ

let num = 10;
let str = "20";

const result = num + str;

์ˆซ์ž์™€ ๋ฌธ์ž์—ด์„ ๋ง์…ˆํ•œ ๊ฒฝ์šฐ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์ด ์ž๋™์œผ๋กœ num์„ str๋กœ ํ•ด์„ํ•˜์—ฌ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅ

1.2 ๋ช…์‹œ์  ํ˜• ๋ณ€ํ™˜

๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ํ•จ์ˆ˜ ๋“ฑ์„ ์ด์šฉํ•ด ํ˜• ๋ณ€ํ™˜ ํ•˜๋Š” ๊ฒƒ

let str2 = "10๊ฐœ";
let strToNum2 = parseInt(str2);

๋ฌธ์ž์—ด -> ์ˆซ์ž

let num1 = 20;
let numToStr1 = String(num1);

์ˆซ์ž -> ๋ฌธ์ž์—ด

์—ฐ์‚ฐ์ž 1

1.1 ๋Œ€์ž… ์—ฐ์‚ฐ์ž

=

1.2 ์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž

+, -, *, /, %

1.3 ๋ณตํ•ฉ ๋Œ€์ž… ์—ฐ์‚ฐ์ž

+=, =+, *=, /=, %=

1.4 ์ฆ๊ฐ ์—ฐ์‚ฐ์ž

++๋ณ€์ˆ˜๋ช… : ์ „์œ„ ์—ฐ์‚ฐ
๋ณ€์ˆ˜๋ช…++ : ํ›„์œ„ ์—ฐ์‚ฐ

1.5 ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž

or ||
and &&
not !

let or = true || false; //true

let and = true && false; //false

let not = !true; //false

or -> ํ•˜๋‚˜๋งŒ ์ฐธ์ด๋ฉด true
and -> ๋‘๊ฐœ ๋ชจ๋‘ ์ฐธ์ด๋ฉด true
not -> ๋ฐ˜์ „

๋น„๊ต ์—ฐ์‚ฐ์ž

===
!==
<
>
<=
>=

==์„ ๋‘๋ฒˆ ๋ถ™์ด๋Š” ์ด์œ ? -> ์ž๋ฃŒํ˜• ๊นŒ์ง€ ๊ฐ™์€์ง€๋ฅผ ๋ณด๊ธฐ ์œ„ํ•ด!

let comp1 = 1 === "1"; //false
let comp2 = 1 !== 2; //true

์—ฐ์‚ฐ์ž 2

null ๋ณ‘ํ•ฉ ์—ฐ์‚ฐ์ž

์กด์žฌํ•˜๋Š” ๊ฐ’์„ ์ถ”๋ ค๋‚ด๋Š” ๊ธฐ๋Šฅ
null, undefined๊ฐ€ ์•„๋‹Œ ๊ฐ’์„ ์ฐพ์•„๋‚ด๋Š” ์—ฐ์‚ฐ์ž

let var1;
let var2 = 10;
let var3 = 20;

let var4 = var1 ?? var2;
let var6 = var3 ?? var2;
console.log(var4);    //10
console.log(var6);    //20

var1์€ undefined ๊ฐ’์ด๋ฉฐ, var2๋Š” 10์ด๋‹ค. ๋”ฐ๋ผ์„œ var4๋Š” 10์ด ์ถœ๋ ฅ๋œ๋‹ค.
var3 & var2 ๋ชจ๋‘ ๊ฐ’์ด ์žˆ๋Š” ๊ฒฝ์šฐ ์•ž์— ์ ์€ var3์— ํ•ด๋‹น๋˜๋Š” ๊ฐ’์ด var6์— ์ถœ๋ ฅ๋œ๋‹ค.

typeof์—ฐ์‚ฐ์ž

๊ฐ’์˜ ํƒ€์ž…์„ ๋ณด์—ฌ์ฃผ๋Š” ์—ฐ์‚ฐ์ž

์‚ผํ•ญ ์—ฐ์‚ฐ์ž

ํ•ญ์„ 3๊ฐœ ์‚ฌ์šฉํ•˜๋Š” ์—ฐ์‚ฐ์ž
์กฐ๊ฑด์‹์„ ์ด์šฉํ•ด์„œ ์ฐธ, ๊ฑฐ์ง“์ผ ๋•Œ์˜ ๊ฐ’์„ ๋‹ค๋ฅด๊ฒŒ ๋ฐ˜ํ™˜

let var8 = 10;

let res = var8 % 2 === 0 ? "์ง์ˆ˜" : "ํ™€์ˆ˜";
console.log(res);

์ฐธ์ผ๋•Œ -> ์ง์ˆ˜
๊ฑฐ์ง“์ผ๋•Œ -> ํ™€์ˆ˜

์กฐ๊ฑด๋ฌธ

1. if ์กฐ๊ฑด๋ฌธ

if ~ else if ~ else
if๋กœ ์‹œ์ž‘ํ•˜์—ฌ else๋กœ ๋๋‚˜์•ผํ•œ๋‹ค.

2. switch ๋ฌธ

switch- case - break - default
๋‹ค์ˆ˜์˜ ์กฐ๊ฑด์„ ์ฒ˜๋ฆฌํ•  ๋•Œ if๋ณด๋‹ค ๋” ์ง๊ด€์ž‘์ด๋‹ค.

๋ฐ˜๋ณต๋ฌธ

for(์ดˆ๊ธฐํ™” ์‹ ; ์กฐ๊ฑด์‹ ; ์ฆ๊ฐ์‹)
for๋ฌธ์„ ๊ทธ๋งŒ ํ•˜๊ณ  ์‹ถ์„ ๋•Œ๋Š” break ์‚ฌ์šฉ
๋ฐ˜๋ณต์˜ ํŠน์ • ํšŒ์ฐจ๋ฅผ ๊ฑด๋„ˆ๋›ฐ๊ฒŒ ๋งŒ๋“ค๊ณ  ์‹ถ์œผ๋ฉด continue ์‚ฌ์šฉ

for (let idx = 1; idx <= 10; idx++) {
  if (idx % 2 === 0) {
    continue;
  }
  console.log(idx);

  if (idx >= 5) {
    break;
  }
}

ํ•จ์ˆ˜

1. ํ•จ์ˆ˜ ์„ ์–ธ

function ํ•จ์ˆ˜๋ช…() {
	console.log(" ์ถœ๋ ฅ ๊ฐ’ ");
}

ํ•จ์ˆ˜๋ช… ();

2. ํ•จ์ˆ˜์˜ ๋งค๊ฐœ๋ณ€์ˆ˜ ์‚ฌ์šฉ

function ํ•จ์ˆ˜๋ช…(๋งค๊ฐœ๋ณ€์ˆ˜ 1, ๋งค๊ฐœ๋ณ€์ˆ˜ 2){
	let ๋ณ€์ˆ˜ = ๋งค๊ฐœ๋ณ€์ˆ˜ 1 * ๋งค๊ฐœ๋ณ€์ˆ˜ 2 ;
	console.log(ํ•จ์ˆ˜๋ช…);
}

ํ•จ์ˆ˜๋ช…(์ธ์ˆ˜ ๊ฐ’, ์ธ์ˆ˜ ๊ฐ’);

3. ์ค‘์ฒฉ ํ•จ์ˆ˜

ํ•จ์ˆ˜ ์•ˆ์— ๋˜ ๋‹ค๋ฅธ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด๋„ ๋œ๋‹ค.

function ํ•จ์ˆ˜1 (๋งค๊ฐœ 1, ๋งค๊ฐœ2) {
  function ํ•จ์ˆ˜2() {
    console.log("ํ•จ์ˆ˜2");
  }

  ํ•จ์ˆ˜2 ();
  let ๋ณ€์ˆ˜ = ๋งค๊ฐœ1 * ๋งค๊ฐœ2;

  return ๋ณ€์ˆ˜;
}

4. ํ˜ธ์ด์ŠคํŒ…

์„ ์–ธ๋ฌธ์ด ํ˜ธ์ถœ๋ฌธ๋ณด๋‹ค ์•„๋ž˜์— ์žˆ์–ด๋„ JavaScript์—์„œ๋Š” ์ž‘๋™ํ•œ๋‹ค.

ํ•จ์ˆ˜ ํ‘œํ˜„์‹๊ณผ ํ™”์‚ดํ‘œ ํ•จ์ˆ˜

1. ํ•จ์ˆ˜ ํ‘œํ˜„์‹

let varA = function() {
	console.log("funcB");
};

varA();

ํ•จ์ˆ˜๋ฅผ ๊ตณ์ด ๋”ฐ๋กœ ์„ ์–ธํ•˜์ง€ ์•Š๊ณ  ๋ณ€์ˆ˜์— ๋ฐ”๋กœ ๋‹ด์•„๋ฒ„๋ฆฌ๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

2. ํ™”์‚ดํ‘œ ํ•จ์ˆ˜

=> ํ™”์‚ดํ‘œ ๋‹ค์Œ ๊ฐ’์„ ๋ฐ”๋กœ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

let varA = () => 1;

console.log(varC());

์ฝœ๋ฐฑ ํ•จ์ˆ˜(Callback Function)

์ž์‹ ์ด ์•„๋‹Œ ๋‹ค๋ฅธ ํ•จ์ˆ˜์—, ์ธ์ˆ˜๋กœ์จ ์ „๋‹ฌ๋œ ํ•จ์ˆ˜

function main(value){
}
function sub() {
	console.log("sub");
}
main(sub);
//sub

mainํ•จ์ˆ˜์˜ value ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ฐ’์€ sub ํ•จ์ˆ˜๊ฐ’์ด๋‹ค.
์ด์ฒ˜๋Ÿผ main์ด๋ผ๋Š” ๋‹ค๋ฅธ ํ•จ์ˆ˜์— ํ•จ์ˆ˜๊ฐ€ ์ธ์ˆ˜๋กœ์จ ๋“ค์–ด๊ฐ„ ํ•จ์ˆ˜๋ฅผ ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋ผ๊ณ  ํ•œ๋‹ค.

์ค‘๋ณต์ฝ”๋“œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์œ ์šฉํ•˜๋‹ค.

function repeat(count) {
  for (let idx = 1; idx <= count; idx++) {
    console.log(idx);
  }
}

function repeatDouble(count) {
  for (let idx = 1; idx <= count; idx++) {
    console.log(idx * 2);
  }
}

function repeatTriple(count) {
  for (let idx = 1; idx <= count; idx++) {
    console.log(idx * 3);
  }
}

repeat(5);
repeatDouble(5);
repeatTriple(5);

์ด๋Ÿฐ์‹์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์งœ๊ฒŒ ๋˜๋ฉด ๊ฐ€๋…์„ฑ์ด ๋–จ์–ด์ง„๋‹ค.

function repeat(count, callback) {
  for (let idx = 1; idx <= count; idx++) {
    callback(idx);
  }
}

repeat(5, function (idx) {
  console.log(idx);
});

repeat(5, function (idx) {
  console.log(idx * 2);
});

repeat(5, function (idx) {
  console.log(idx * 3);
});

์ฝœ๋ฐฑ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ฝ”๋“œ๊ฐ€ ํ›จ์”ฌ ๊ฐ„๋‹จํ•ด์ง„๋‹ค.

์Šค์ฝ”ํ”„

๋ณ€์ˆ˜๋‚˜ ํ•จ์ˆ˜์— ์ ‘๊ทผํ•˜๊ฑฐ๋‚˜ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ”์œ„์ด๋‹ค.

์ „์—ญ ์Šค์ฝ”ํ”„

๋ฐ”๊นฅ์—์„œ ์„ ์–ธ๋œ ๋ณ€์ˆ˜ -> ์–ด๋””์„œ๋“  ์ ‘๊ทผ ๊ฐ€๋Šฅ

์ง€์—ญ ์Šค์ฝ”ํ”„

ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ ์„ ์–ธํ•œ ๋ณ€์ˆ˜ -> ํ•จ์ˆ˜ ๋ธ”๋ก ์™ธ๋ถ€์—์„œ ์ถœ๋ ฅํ•˜๋ ค๊ณ  ํ•˜๋ฉด ์˜ค๋ฅ˜

๊ฐ์ฒด 1

์›์‹œ ํƒ€์ž…์ด ์•„๋‹Œ ๊ฐ์ฒด ํƒ€์ž…์˜ ์ž๋ฃŒํ˜•

1. ๊ฐ์ฒด ์ƒ์„ฑ

let obj1 = new Object(); // ๊ฐ์ฒด ์ƒ์„ฑ์ž
let obj2 = {}; // ๊ฐ์ฒด ๋ฆฌํ„ฐ๋Ÿด (๋Œ€๋ถ€๋ถ„ ์‚ฌ์šฉ)

2. ๊ฐ์ฒด ํ”„๋กœํผํ‹ฐ (๊ฐ์ฒด ์†์„ฑ)

let ํ•จ์ˆ˜๋ช… = {
	key : value
    .
    .
    .
};

๋„์–ด์“ฐ๊ธฐ๊ฐ€ ์žˆ๋Š” key์ธ ๊ฒฝ์šฐ "" ํฐ ๋”ฐ์˜ดํ‘œ๋กœ ๋ฌถ์–ด์ค˜์•ผํ•œ๋‹ค.

3. ๊ฐ์ฒด ํ”„๋กœํผํ‹ฐ ๋‹ค๋ฃจ๋Š” ๋ฐฉ๋ฒ•

3.1 ํŠน์ • ํ”„๋กœํผํ‹ฐ์— ์ ‘๊ทผ (์  ํ‘œ๊ธฐ๋ฒ•, ๊ด„ํ˜ธ ํ‘œ๊ธฐ๋ฒ•)

let name = person.name; //์  ํ‘œ๊ธฐ๋ฒ•

let age = person ["age2"]; //๊ด„ํ˜ธ ํ‘œ๊ธฐ๋ฒ•

์กด์žฌํ•˜์ง€ ์•Š๋Š” ํ”„๋กœํผํ‹ฐ์— ์ ‘๊ทผํ•˜๋ฉด undefined ์ถœ๋ ฅ

3.2 ์ƒˆ๋กœ์šด ํ”„๋กœํผํ‹ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•

person.job = "fe developer";

3.3 ํ”„๋กœํผํ‹ฐ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•

person.job = "educator";

person["favoriteFood"] = "์ดˆ์ฝœ๋ฆฟ";

3.4 ํ”„๋กœํผํ‹ฐ๋ฅผ ์‚ญ์ œํ•˜๋Š” ๋ฐฉ๋ฒ•

delete person.job;

delete person["favoriteFood"];

3.5 ํ”„๋กœํผํ‹ฐ์˜ ์กด์žฌ ์œ ๋ฌด๋ฅผ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ• (in ์—ฐ์‚ฐ์ž)

let result1 = "name" in person;
let result2 = "cat" in person;
console.log(result2);

๊ฐ์ฒด 2

1. ์ƒ์ˆ˜ ๊ฐ์ฒด

const animal = {
  type: "๊ณ ์–‘์ด",
  name: "๋‚˜๋น„",
  color: "black",
};

animal.age = 2; // ์ถ”๊ฐ€
animal.name = "๊นŒ๋ง์ด"; // ์ˆ˜์ •
delete animal.color; // ์‚ญ์ œ

2. ๋ฉ”์„œ๋“œ

๊ฐ’์ด ํ•จ์ˆ˜์ธ ํ”„๋กœํผํ‹ฐ์ด๋‹ค.

const person = {
  name: "์ด์ •ํ™˜",
  // ๋ฉ”์„œ๋“œ ์„ ์–ธ
  sayHi() {
    console.log("์•ˆ๋…•!");
  },
};

๋ฐฐ์—ด

์—ฌ๋Ÿฌ๊ฐœ์˜ ๊ฐ’์„ ์ˆœ์ฐจ์ ์œผ๋กœ ๋‹ด์„ ์ˆ˜ ์žˆ๋Š” ์ž๋ฃŒํ˜•

1. ๋ฐฐ์—ด ์ƒ์„ฑ

let arrA = new Array(); // ๋ฐฐ์—ด ์ƒ์„ฑ์ž
let arrB = []; // ๋ฐฐ์—ด ๋ฆฌํ„ฐ๋Ÿด (๋Œ€๋ถ€๋ถ„ ์‚ฌ์šฉ)

let arrC = [
  1,
  2,
  3,
  true,
  "hello",
  null,
  undefined,
  () => {},
  {},
  [],    // ๋ฐฐ์—ด์€ ๋ชจ๋“  ๊ฐ’์„ ๋‹ค ๋„ฃ์„ ์ˆ˜ ์žˆ๋‹ค..!
];

2. ๋ฐฐ์—ด ์š”์†Œ ์ ‘๊ทผ

let item1 = arrC[0];
let item2 = arrC[1];

arrC[0] = "hello";
console.log(arrC);

๋ฐฐ์—ด์€ 0๋ถ€ํ„ฐ ์„ธ๊ธฐ ๋•Œ๋ฌธ์— ์ฒซ๋ฒˆ์งธ ์š”์†Œ๋ฅผ 0์œผ๋กœ ๋ถˆ๋Ÿฌ์™€์•ผํ•œ๋‹ค.

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