๐Ÿ“Œ๋ฐ˜๋ณต๋ฌธ์ด๋ž€?

๋™์ผํ•œ ์ฝ”๋“œ๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ๋ฐ˜๋ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ”Ž while๋ฌธ
๐Ÿ”Ž do ~ while๋ฌธ
๐Ÿ”Ž for๋ฌธ
๐Ÿ”Ž for ~ in๋ฌธ
๐Ÿ”Ž for ~ of๋ฌธ

๋ฐ˜๋ณต๋ฌธ์„ ์‹œ์ž‘ํ•˜๊ธฐ์ „ ์•Œ์•„์•ผํ•  ์ค‘์š” ์˜๋‹จ์–ด

enumerable : ์—ด๊ฑฐ ๊ฐ€๋Šฅํ•œ
immutable : ๋ณ€ํ•˜์ง€ ์•Š๋Š”
iterabla : ๋นˆ๋ณต ๊ฐ€๋Šฅํ•œ


๐Ÿ“while๋ฌธ

while ๋ฌธ์€ ์กฐ๊ฑด์ด true์ธ ๋™์•ˆ ๋ฐ˜๋ณตํ•˜์—ฌ ์ฝ”๋“œ ๋ธ”๋ก์„ ์‹คํ–‰

์‚ฌ์šฉ์˜ˆ์‹œ

while (์กฐ๊ฑด) {
  // ์กฐ๊ฑด์ด true์ธ ๋™์•ˆ ๋ฐ˜๋ณต ์‹คํ–‰๋  ์ฝ”๋“œ ๋ธ”๋ก
}

๋งŒ์•ฝ ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฐฐ์—ด์ด ์ฃผ์–ด์กŒ์„๊ฒฝ์šฐ ์ˆœ๋ฐฉํ–ฅ๊ณผ ์—ญ๋ฐฉํ–ฅ์— ์„ฑ๋Šฅ ์ฒดํฌ

const frontEndDev = [
  'HTML',
  'CSS',
  'SVG',
  'JavaScript',
  'jQuery',
  'React',
  'Redux',
];

์ˆœ๋ฐฉํ–ฅ

let n = 0;
while (n < frontEndDev.length) {
   const value = frontEndDev[n];
      console.log(value);
   n++;
 }

์—ญ๋ฐฉํ–ฅ

let a = frontEndDev.length - 1;

while (a >= 0) {
  const value2 = frontEndDev[a];
  console.log(value2);
  a--;
}

ํฌ๊ฒŒ ์ฐจ์ด๋Š” ์—†์ง€๋งŒ ์ˆœ๋ฐฉํ–ฅ์ด ์‚ด์ง ๋น ๋ฅด๋‹ค๊ณ  ์•Œ๊ณ ์žˆ์Œ.


๐Ÿ“do ~ while๋ฌธ

do-while ๋ฌธ์€ while ๋ฌธ๊ณผ ์œ ์‚ฌํ•˜์ง€๋งŒ, ์ฝ”๋“œ ๋ธ”๋ก์ด ์ตœ์†Œํ•œ ํ•œ ๋ฒˆ์€ ์‹คํ–‰๋˜๋„๋ก ๋ณด์žฅํ•˜๋Š” ๋ฐ˜๋ณต ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค.

์‚ฌ์šฉ์˜ˆ์‹œ

do {
  // ์ตœ์†Œํ•œ ํ•œ ๋ฒˆ์€ ์‹คํ–‰๋  ์ฝ”๋“œ ๋ธ”๋ก
} while (์กฐ๊ฑด);

do ~ while๋ฌธ์˜ while๊ณผ ๋‹ค๋ฅธ ํŠน์ง•

  • ๋จผ์ € ์ฝ”๋“œ ๋ธ”๋ก์„ ์‹คํ–‰ํ•˜๊ณ  ๋‚˜์„œ ์กฐ๊ฑด์„ ํ‰๊ฐ€
  • ์กฐ๊ฑด์ด true์ธ ๊ฒฝ์šฐ ์ฝ”๋“œ ๋ธ”๋ก์€ ๊ณ„์† ๋ฐ˜๋ณต ์‹คํ–‰๋˜๋ฉฐ, ์กฐ๊ฑด์ด false๊ฐ€ ๋  ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณต

โ—โ— do..while ๋ฌธ๋ฒ•์€ ์กฐ๊ฑด์ด truthy ์ธ์ง€ ์•„๋‹Œ์ง€์— ์ƒ๊ด€์—†์ด, ๋ณธ๋ฌธ์„ ์ตœ์†Œํ•œ ํ•œ ๋ฒˆ์ด๋ผ๋„ ์‹คํ–‰ํ•˜๊ณ  ์‹ถ์„ ๋•Œ๋งŒ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.


๐Ÿ“for๋ฌธ

for ๋ฌธ์€ ํŠน์ • ์กฐ๊ฑด์ด true์ธ ๋™์•ˆ ์ฝ”๋“œ ๋ธ”๋ก์„ ๋ฐ˜๋ณต ์‹คํ–‰ํ•˜๋Š” ๋ฐ˜๋ณต๋ฌธ์ž…๋‹ˆ๋‹ค.

์‚ฌ์šฉ์˜ˆ์‹œ

for (begin; condition; step) {
  // ... ๋ฐ˜๋ณต๋ฌธ ๋ณธ๋ฌธ ...(boddy)
}
  • begin : ๋ฐ˜๋ณต๋ฌธ์ด ์ง„์ž…ํ•  ๋•Œ ๋‹จ ํ•œ๋ฒˆ ์‹คํ–‰
  • condition : ๋ฐ˜๋ณต๋งˆ๋‹ค ํ•ด๋‹น ์กฐ๊ฑด ํ™•์ธ ํ›„ false๋ฉด ๋ฐ˜๋ณต๋ฌธ ์ค‘๋‹จ
  • body : condition์ด truthy์ผ ๋™์•ˆ ๊ณ„์†ํ•ด์„œ ์‹คํ–‰
  • step : ๊ฐ ๋ฐ˜๋ณต์˜ body๊ฐ€ ์‹คํ–‰๋œ ์ดํ›„์— ์‹คํ–‰

โ—โ— for๋ฌธ์— ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ์ƒ๋žตํ• ์ˆ˜์žˆ์ง€๋งŒ ' ; (์„ธ๋ฏธ์ฝœ๋ก ) '์„ ๊ผญ ๋„ฃ์–ด์ค˜์•ผ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€์•Š์Œ.


๐Ÿ“for ~ in๋ฌธ

๊ฐ์ฒด์˜ ์†์„ฑ(property) ํฌํ•จ ์—ฌ๋ถ€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

์‚ฌ์šฉ์˜ˆ์‹œ

for (๋ณ€์ˆ˜ in ๊ฐ์ฒด) {
  // ๊ฐ์ฒด์˜ ๊ฐ ์†์„ฑ์— ๋Œ€ํ•ด ์‹คํ–‰๋  ์ฝ”๋“œ
}

โ—โ— ๋ถ€๋ชจ์ธ value๊นŒ์ง€ ์žˆ๋‹ค๊ณ  ํŒ๋‹จํ•˜๋Š”๊ฒŒ for in๋ฌธ์— ๋‹จ์ 
โ—โ— ๋ฐฐ์—ด์€ ์ˆœ์„œ ๋ณด์žฅ์ด ์•ˆ๋จ, ์„ฑ๋Šฅx => for..in์€ ๊ฐ์ฒด์— ์–‘๋ณดํ•˜์„ธ์š”..


๐Ÿ“for ~ of๋ฌธ

๋ฐ˜๋ณต ๊ฐ€๋Šฅํ•œ ์š”์†Œ๋“ค์—๊ฒŒ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

์‚ฌ์šฉ์˜ˆ์‹œ

for (๋ณ€์ˆ˜ of ๋ฐ˜๋ณต ๊ฐ€๋Šฅํ•œ ๊ฐ์ฒด) {
  // iterable์˜ ๊ฐ ์š”์†Œ์— ๋Œ€ํ•ด ์‹คํ–‰๋  ์ฝ”๋“œ
}

for ~ of ํŠน์ง•

  • ๊ฐ์ฒด๋Š” for..of๋ฅผ ์‚ฌ์šฉํ• ์ˆ˜์—†๋‹ค. ํ•˜์ง€๋งŒ ๊ฐ์ฒด๋„ for..of๋กœ ์ˆœํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ์ฒด๋ฅผ ๋ฐฐ์—ด๋กœ ๋งŒ๋“ค์–ด๋ฒ„๋ฆผ.

๐Ÿ‘ฉโ€๐Ÿซ ํŠน์ • ์กฐ๊ฑด์—์„œ ์ค‘๋‹จํ•˜๊ธฐ (break)

์˜ˆ์ œ

for (let i = 1; i <= 5; i++) {
 console.log(i);

 if (i === 3) {
   console.log("ํŠน์ • ์กฐ๊ฑด์—์„œ ์ค‘๋‹จ!");
   break;
 }
} // 1,2,3

๐Ÿ‘ฉโ€๐Ÿซ ํŠน์ • ์กฐ๊ฑด์—์„œ ๊ฑด๋„ˆ๋„๊ธฐ (continue)

์˜ˆ์ œ

for (let i = 1; i <= 5; i++) {
  if (i === 3) {
    console.log("ํŠน์ • ์กฐ๊ฑด์—์„œ ๊ฑด๋„ˆ๋›ฐ๊ธฐ!");
    continue;
  }

  console.log(i);
}// 1,2,4,5

๐Ÿค“์ˆ˜์—… ๋ฉ”๋ชจ์žฅ

  • hasOwnProperty : ๊ฐ์ฒด ์ž์‹ ์˜ ์†์„ฑ์ธ์ง€ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•
    ๐Ÿ™…์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” hasOwnProperty๋ฅผ ๋ณดํ˜ธํ•ด์ฃผ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • call : ๋ฉ”์„œ๋“œ ๋นŒ๋ ค์“ฐ๊ธฐ
    ๐Ÿ‘‰ ์ƒ์„ฑ๋œ ๊ฐ์ฒด์˜ method๋Š” ๋ถˆ์•ˆํ•จ, => ์ง„์งœ ๊ฐ์ฒด์˜ ๋Šฅ๋ ฅ์„ ๋นŒ๋ ค์”€


  • ์ƒ์„ฑ๋œ ๊ฐ์ฒด์˜ method๋Š” ๋ถˆ์•ˆํ•จ, => ์ง„์งœ ๊ฐ์ฒด์˜ ๋Šฅ๋ ฅ์„ ๋นŒ๋ ค์”€ ์•„๋ž˜ ์˜ˆ์‹œ.
console.log(Object.prototype.hasOwnProperty.call(js, key));

๐Ÿ‘‰ Object.prototype =({})์“ฐ๊ธฐ ๊ฐ€๋Šฅ, โ—โ— ๋ฌผ๋ก  ์กฐ์ƒ์€ ์•„๋‹˜ โ—โ—

๐Ÿ‘‰(๋นŒ๋ ค์“ฐ๋Š” ์ฃผ์ฒด, ์•ผ๊ทœ๋จผํŠธ)

  • ์œ ์‚ฌ๋ฐฐ์—ด => ๋ฐฐ์—ด์ฒ˜๋Ÿผ ์ƒ๊ฒผ์ง€๋งŒ ์‹ค์ œ ๋ฐฐ์—ด์ด ์•„๋‹Œ ๊ฒƒ
    ๐Ÿ‘‰ console์— ํ•ด๋‹น ๊ฐ์ฒด์— ํƒ€์ž…์— Array๊ฐ€ ์ ํ˜€์žˆ์ง€์•Š์œผ๋ฉด ์œ ์‚ฌ๋ฐฐ์—ด

  • ๋ฐฐ์—ด ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ•
//๊ฐ์ฒด์˜ key๋ฅผ ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜
Object.keys()
//๊ฐ์ฒด์˜ value๋ฅผ ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜
Object.values()
//key,value๋ฅผ ๊ฐ€์ง„ ํ•˜๋‚˜์˜ ์Œ ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜
console.log(Object.entries(randomUser));

๐Ÿ”—์ฐธ๊ณ  ์‚ฌ์ดํŠธ
๐Ÿ“chatGPT
๐Ÿ“Javascript info
๐Ÿ“๋ฉ‹์‚ฌ ์ˆ˜์—… ๋‚ด์šฉ...

profile
ํ”„์—” ํ•จ ํ•ด๋ณด์ž๊ณ ์˜ค

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

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด