๋์ผํ ์ฝ๋๋ฅผ ์ฌ๋ฌ ๋ฒ ๋ฐ๋ณตํ ์ ์์ต๋๋ค.
๐ while๋ฌธ
๐ do ~ while๋ฌธ
๐ for๋ฌธ
๐ for ~ in๋ฌธ
๐ for ~ of๋ฌธ
๋ฐ๋ณต๋ฌธ์ ์์ํ๊ธฐ์ ์์์ผํ ์ค์ ์๋จ์ด
enumerable : ์ด๊ฑฐ ๊ฐ๋ฅํ
immutable : ๋ณํ์ง ์๋
iterabla : ๋น๋ณต ๊ฐ๋ฅํ
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 ๋ฌธ์ while ๋ฌธ๊ณผ ์ ์ฌํ์ง๋ง, ์ฝ๋ ๋ธ๋ก์ด ์ต์ํ ํ ๋ฒ์ ์คํ๋๋๋ก ๋ณด์ฅํ๋ ๋ฐ๋ณต ๊ตฌ์กฐ์ ๋๋ค.
์ฌ์ฉ์์
do {
// ์ต์ํ ํ ๋ฒ์ ์คํ๋ ์ฝ๋ ๋ธ๋ก
} while (์กฐ๊ฑด);
do ~ while๋ฌธ์ while๊ณผ ๋ค๋ฅธ ํน์ง
โโ do..while ๋ฌธ๋ฒ์ ์กฐ๊ฑด์ด truthy ์ธ์ง ์๋์ง์ ์๊ด์์ด, ๋ณธ๋ฌธ์ ์ต์ํ ํ ๋ฒ์ด๋ผ๋ ์คํํ๊ณ ์ถ์ ๋๋ง ์ฌ์ฉํด์ผ ํฉ๋๋ค.
for ๋ฌธ์ ํน์ ์กฐ๊ฑด์ด true์ธ ๋์ ์ฝ๋ ๋ธ๋ก์ ๋ฐ๋ณต ์คํํ๋ ๋ฐ๋ณต๋ฌธ์ ๋๋ค.
์ฌ์ฉ์์
for (begin; condition; step) {
// ... ๋ฐ๋ณต๋ฌธ ๋ณธ๋ฌธ ...(boddy)
}
โโ for๋ฌธ์ ๊ตฌ์ฑ์์๋ฅผ ์๋ตํ ์์์ง๋ง ' ; (์ธ๋ฏธ์ฝ๋ก ) '์ ๊ผญ ๋ฃ์ด์ค์ผ ์๋ฌ๊ฐ ๋ฐ์ํ์ง์์.
๊ฐ์ฒด์ ์์ฑ(property) ํฌํจ ์ฌ๋ถ ํ์ธํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ ๋๋ค.
์ฌ์ฉ์์
for (๋ณ์ in ๊ฐ์ฒด) {
// ๊ฐ์ฒด์ ๊ฐ ์์ฑ์ ๋ํด ์คํ๋ ์ฝ๋
}
โโ ๋ถ๋ชจ์ธ value๊น์ง ์๋ค๊ณ ํ๋จํ๋๊ฒ for in๋ฌธ์ ๋จ์
โโ ๋ฐฐ์ด์ ์์ ๋ณด์ฅ์ด ์๋จ, ์ฑ๋ฅx => for..in์ ๊ฐ์ฒด์ ์๋ณดํ์ธ์..
๋ฐ๋ณต ๊ฐ๋ฅํ ์์๋ค์๊ฒ๋ง ์ฌ์ฉํ ์ ์๋ค.
์ฌ์ฉ์์
for (๋ณ์ of ๋ฐ๋ณต ๊ฐ๋ฅํ ๊ฐ์ฒด) {
// iterable์ ๊ฐ ์์์ ๋ํด ์คํ๋ ์ฝ๋
}
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๋ ๋ถ์ํจ, => ์ง์ง ๊ฐ์ฒด์ ๋ฅ๋ ฅ์ ๋น๋ ค์
console.log(Object.prototype.hasOwnProperty.call(js, key));
๐ Object.prototype =({})์ฐ๊ธฐ ๊ฐ๋ฅ, โโ ๋ฌผ๋ก ์กฐ์์ ์๋ โโ
๐(๋น๋ ค์ฐ๋ ์ฃผ์ฒด, ์ผ๊ท๋จผํธ)
//๊ฐ์ฒด์ key๋ฅผ ๋ฐฐ์ด๋ก ๋ฐํ
Object.keys()
//๊ฐ์ฒด์ value๋ฅผ ๋ฐฐ์ด๋ก ๋ฐํ
Object.values()
//key,value๋ฅผ ๊ฐ์ง ํ๋์ ์ ๋ฐฐ์ด์ ๋ฐํ
console.log(Object.entries(randomUser));
๐์ฐธ๊ณ ์ฌ์ดํธ
๐chatGPT
๐Javascript info
๐๋ฉ์ฌ ์์
๋ด์ฉ...