๐Ÿ“š [JavaScript] ๋ฐ˜๋ณต๋ฌธ

์ด๊ฐ€์€ยท2022๋…„ 4์›” 1์ผ
1

JavaScript

๋ชฉ๋ก ๋ณด๊ธฐ
6/13

๐Ÿ“• for๋ฌธ

๊ฐ’์ด ์ผ์ •ํ•˜๊ฒŒ ๋ณ€ํ™”ํ•˜๋ฉฐ ๋ช…๋ น์„ ๋ฐ˜๋ณตํ•˜์—ฌ ์‹คํ–‰ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค

๐ŸŽ ๋ฌธ๋ฒ•

for(์ดˆ๊ธฐ์‹; ์กฐ๊ฑด์‹; ์ฆ๊ฐ์‹) {
	์กฐ๊ฑด์˜ ๊ฒฐ๊ณผ๊ฐ€ ์ฐธ์ธ ๋™์•ˆ ๋ฐ˜๋ณต์ ์œผ๋กœ ์‹คํ–‰ํ•˜๊ณ ์ž ํ•˜๋Š” ์‹คํ–‰๋ฌธ;
}

โœ” ์ดˆ๊ธฐ์‹, ์กฐ๊ฑด์‹, ์ฆ๊ฐ์‹์€ ๊ฐ๊ฐ ์ƒ๋žตํ•  ์ˆ˜ ์žˆ๋‹ค
โœ” ์‰ผํ‘œ ์—ฐ์‚ฐ์ž(,)๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ดˆ๊ธฐ์‹์ด๋‚˜ ์ฆ๊ฐ์‹์„ ๋™์‹œ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค

๐ŸŽˆ ์˜ˆ์ œ

<script>
//for๋ฌธ์œผ๋กœ ์ง๊ฐ์‚ผ๊ฐํ˜• ๋ชจ์–‘์˜ ๋ณ„ ์ฐ๊ธฐ
for(var i = 1; i < 5; i++) {
	for(var j = 1; j <= i; j++) {
    	document.write("*");
    } document.write("<br>");
} 
/*
*
**
***
****
*/
</script>

๐Ÿ“™ for ... in๋ฌธ

๊ฐ์ฒด์˜ ๋ชจ๋“  ์—ด๊ฑฐํ•  ์ˆ˜ ์žˆ๋Š” ์†์„ฑ๋“ค์„ ์ˆœํšŒํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค€๋‹ค

๐ŸŽ ๋ฌธ๋ฒ•

for(๋ณ€์ˆ˜ in ๊ฐ์ฒด) {
	๊ฐ์ฒด์˜ ๋ชจ๋“  ์—ด๊ฑฐํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœํผํ‹ฐ์˜ ๊ฐœ์ˆ˜๋งŒํผ ๋ฐ˜๋ณต์ ์œผ๋กœ ์‹คํ–‰ํ•˜๊ณ ์ž ํ•˜๋Š” ์‹คํ–‰๋ฌธ;
}

โœ” ๊ฐ์ฒด์˜ key ๊ฐ’์—๋Š” ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ value ๊ฐ’์—๋Š” ์ง์ ‘์ ์œผ๋กœ ์ ‘๊ทผ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค

๐ŸŽˆ ์˜ˆ์ œ

<script>
//๋ฐฐ์—ด์˜ ์š”์†Œ์— ์ ‘๊ทผํ•˜๋Š” ์˜ˆ์ œ
var arr = ['a', 'b', 'c'];
for(var i in arr) {
	document.write(i + " ");
} //0 1 2

//๊ฐ์ฒด์˜ ํ”„๋กœํผํ‹ฐ์— ์ ‘๊ทผํ•˜๋Š” ์˜ˆ์ œ
var obj = { a: 1, b: 2, c: 3 };
for(var i in obj) {
	document.write(i + " ");
} //a b c
</script>

๐Ÿ“’ for ... of๋ฌธ

๋ฐ˜๋ณตํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด๋ฅผ ์ˆœํšŒํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค€๋‹ค

๐ŸŽ ๋ฌธ๋ฒ•

for(๋ณ€์ˆ˜ of ๊ฐ์ฒด) {
	๊ฐ์ฒด์˜ ๋ชจ๋“  ์—ด๊ฑฐํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœํผํ‹ฐ์˜ ๊ฐœ์ˆ˜๋งŒํผ ๋ฐ˜๋ณต์ ์œผ๋กœ ์‹คํ–‰ํ•˜๊ณ ์ž ํ•˜๋Š” ์‹คํ–‰๋ฌธ;
}

โœ” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ๋ฐ˜๋ณตํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด๋Š” Array, Map, Set, arguments ๊ฐ์ฒด ๋“ฑ์ด ์žˆ๋‹ค

๐ŸŽˆ ์˜ˆ์ œ

<script>
//Array
var arr = ['a', 'b', 'c'];
for(var val of arr) {
	document.write(val + " ");
} //a b c

//String
var str = 'abc';
for(var val of str) {
	document.write(val + " ");
} //a b c

//Object
var obj = { 1: 'a', 2: 'b', 3: 'c' };
for(var val of obj) {
	document.write(val);
} //TypeError: obj is not iterable
</script>

โœ” Object๋Š” [Symbol.iterator] ์†์„ฑ์„ ๊ฐ€์ง€์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— TypeError๋ฅผ ๋ฐœ์ƒ์‹œํ‚จ๋‹ค

๐Ÿ“— while๋ฌธ

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

๐ŸŽ ๋ฌธ๋ฒ•

while(์กฐ๊ฑด) {
	์กฐ๊ฑด์˜ ๊ฒฐ๊ณผ๊ฐ€ ์ฐธ์ธ ๋™์•ˆ ๋ฐ˜๋ณต์ ์œผ๋กœ ์‹คํ–‰ํ•˜๊ณ ์ž ํ•˜๋Š” ์‹คํ–‰๋ฌธ;
}

โœ” ์กฐ๊ฑด์ด false๋ฉด ์‹คํ–‰๋ฌธ์„ ํ•œ ๋ฒˆ๋„ ์‹คํ–‰ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค
โœ” ์กฐ๊ฑด์˜ ๊ฒฐ๊ณผ๊ฐ€ ์–ด๋Š ์ˆœ๊ฐ„์—๋Š” false๋ฅผ ๊ฐ€์ง€๋„๋ก ์ž‘์„ฑํ•ด์•ผ ๋ฌดํ•œ ๋ฃจํ”„์— ๋น ์ง€์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค

๐ŸŽˆ ์˜ˆ์ œ

<script>
//while๋ฌธ์œผ๋กœ 5 ํŒฉํ† ๋ฆฌ์–ผ ๊ณ„์‚ฐํ•˜๊ธฐ
var fact = 1, i = 1;
while(i <= 5) {
	fact *= i;
    i++;
} document.write(fact); //120
</script>

๐Ÿ“˜ do~while๋ฌธ

์กฐ๊ฑด์ด ๋งจ ๋’ค์— ๋ถ™์–ด์„œ ์ผ๋‹จ ์‹คํ–‰๋ฌธ์„ ํ•œ ๋ฒˆ ์‹คํ–‰ํ•œ ํ›„ while๋ฌธ์—์„œ ์กฐ๊ฑด์„ ์ฒดํฌํ•œ๋‹ค

๐ŸŽ ๋ฌธ๋ฒ•

do {
	์กฐ๊ฑด์˜ ๊ฒฐ๊ณผ๊ฐ€ ์ฐธ์ธ ๋™์•ˆ ๋ฐ˜๋ณต์ ์œผ๋กœ ์‹คํ–‰ํ•˜๊ณ ์ž ํ•˜๋Š” ์‹คํ–‰๋ฌธ;
} while(์กฐ๊ฑด);

โœ” ์กฐ๊ฑด์ด false๋ผ๋„ ์‹คํ–‰๋ฌธ์ด ์ตœ์†Œํ•œ ํ•œ ๋ฒˆ ์‹คํ–‰๋œ๋‹ค

๐ŸŽˆ ์˜ˆ์ œ

<script>
//do~while๋ฌธ์œผ๋กœ 5 ํŒฉํ† ๋ฆฌ์–ผ ๊ณ„์‚ฐํ•˜๊ธฐ
var fact = 1, i = 1;
do {
	fact *= i;
	i++;
} while (i <= 5);
document.write(fact); //120
</script>
profile
๊ฐ€๋ฟก์ด์˜ ๊ณต๋ถ€ ์ƒ์ž๐Ÿ“ฆ

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

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