๐ ๋ฐฐ์ด
๋ฐฐ์ด์ ์ฌ๋ฌ ๊ฐ์ ์๋ฃ๋ฅผ ํ๊บผ๋ฒ์ ๋ค๋ฃฐ ์ ์๋ ์๋ฃํ์ด๋ค.
๋๊ดํธ ๋ด๋ถ์ ๊ฐ ์๋ฃ๋ ์ผํ๋ก ๊ตฌ๋ถํ๋ค.
๋ฐฐ์ด์๋ ์ฌ๋ฌ ์๋ฃํ์ด ์์ฌ ์์ ์ ์๋ค.
let array = [279, 1013, 'SSAFY', 'AI', true, false]
๋ฐฐ์ด ์์ ๋ค์ด ์๋ ๊ฐ ์๋ฃ๋ฅผ ์์(Element)๋ผ๊ณ ํ๋ค.
๋ฐฐ์ด์ ์์์ ์ ๊ทผํ ๋๋ ๋๊ดํธ๋ฅผ ์ฌ์ฉํ๋ฉฐ, ๋๊ดํธ ์์ ๋ฃ๋ ์ซ์๋ฅผ ์ธ๋ฑ์ค(Index)๋ผ๊ณ ํ๋ค.
์ธ๋ฑ์ค๋ 0๋ถํฐ ์์ํ๋ค.
console.log(array[0]); // 279
console.log(array[1]); // 1013
console.log(array[2]); // 'SSAFY'
console.log(array[3]); // 'AI'
console.log(array[4]); // true
console.log(array[5]); // false
๋ฐฐ์ด์ด ์์์ ์ ๊ทผํ์ฌ ๊ฐ์ ๋ณ๊ฒฝํ ์ ์๋ค.
array[0] = 0;
console.log(array[0]); // 0
โป ๋ฐฐ์ด๊ณผ undefined
์ผ๋ฐ์ ์ธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์๋ ๋ฐฐ์ด์ ๋ฒ์๋ฅผ ๋๋ ์์์ ์ ๊ทผํ ๋ 'Index out of range' ์ค๋ฅ๊ฐ ๋ฐ์ํ์ง๋ง
JS์์๋ undefined๊ฐ ์ถ๋ ฅ๋๋ค.
let array = [1, 2, 3, 4, 5, 6]
console.log(array[1000]) // undefined
๐ while ๋ฐ๋ณต๋ฌธ
๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋ฐ๋ณต๋ฌธ์ผ๋ก, ๋ถ(Bool) ํํ์์ด ์ฐธ์ธ ๋์์ ์ค๊ดํธ ์์ ๋ฌธ์ฅ์ ๊ณ์ ์คํํ๋ค.
while (<๋ถ ํํ์>) {
// ๋ถ ํํ์์ด ์ฐธ์ธ ๋์ ์คํํ ๋ฌธ์ฅ
}
๋ฌดํ๋ฐ๋ณต ์ฃผ์!) ์กฐ๊ฑด์ด ๋ณํ์ง ์์ผ๋ฉด ๋ฌดํ ๋ฐ๋ณตํ๊ธฐ ๋๋ฌธ์ ๋ฐ๋์ ์กฐ๊ฑด์ false๋ก ๋ง๋ค ์ ์๋ ๋ฌธ์ฅ์ ํฌํจํด์ผ ํ๋ค.
๐ for ๋ฐ๋ณต๋ฌธ
for ๋ฐ๋ณต๋ฌธ์ ์ํ๋ ํ์๋งํผ ๋ฐ๋ณตํ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ค.
for ๋ฐ๋ณต๋ฌธ์ ๊ฐ ๋จ๊ณ๋ฅผ ์ดํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
- ์ด๊ธฐ์์ ๋น๊ตํ๋ค.
- ์กฐ๊ฑด์์ ๋น๊ตํ๋ค. ์กฐ๊ฑด์ด false์ด๋ฉด ๋ฐ๋ณต๋ฌธ์ ์ข ๋ฃํ๋ค.
- ๋ฌธ์ฅ์ ์คํํ๋ค.
- ์ข ๊ฒฐ์์ ์คํํ๋ค.
- 2๋จ๊ณ๋ก ์ด๋ํ๋ค.
for (let i = 0; i < [๋ฐ๋ณต ํ์]; i++) {
// ์คํํ ๋ฌธ์ฅ
}
๐ ์ญ for ๋ฐ๋ณต๋ฌธ
๋ฐฐ์ด ๋ฐ๋ณต์ ์์์๋ถํฐ ์ํํ ๋๋ ์์ง๋ง ๋ค์์๋ถํฐ ์คํํด์ผ ํ ๋๋ ์๋ค.
์ด ๋๋ for ๋ฐ๋ณต๋ฌธ์ ๋ค์ ํํ๋ก ์ฌ์ฉํ๋ค.
for (let i = length-1; i >= 0; i--) {
// ์คํํ ๋ฌธ์ฅ
}
// ์์
let array = [1, 2, 3, 4, 5, 6];
for (let i = array.length-1; i >=0; i--) {
console.log(array[i]);
}
/*
6
5
4
3
2
1
*/
๐ for in ๋ฐ๋ณต๋ฌธ๊ณผ for of ๋ฐ๋ณต๋ฌธ
for in ๋ฐ๋ณต๋ฌธ๊ณผ for of ๋ฐ๋ณต๋ฌธ์ ๊ฐ์ฒด์ ์ฝ๊ฒ ๋ฐ๋ณต๋ฌธ์ ์ ์ฉํ ๋ ์ฌ์ฉํ๋ค.
// for in ๋ฐ๋ณต๋ฌธ
for (let ์ธ๋ฑ์ค in ๋ฐฐ์ด) {
}
// for of ๋ฐ๋ณต๋ฌธ
for (let ์์ of ๋ฐฐ์ด) {
}
for in ๋ฐ๋ณต๋ฌธ๊ณผ for of ๋ฐ๋ณต๋ฌธ์ for ๋ฐ๋ณต๋ฌธ ์ฌ์ฉ๊ณผ ์ญํ ์ด ๊ฐ๋ค.
for (let i = 0; i < ๋ฐฐ์ด.๊ธธ์ด; i++) {
let ์ธ๋ฑ์ค = i;
let ์์ = ๋ฐฐ์ด[i];
}
โป for in ๋ฐ๋ณต๋ฌธ๊ณผ for of ๋ฐ๋ณต๋ฌธ ์ฌ์ฉ ์์
let array = ["์ฌ๊ณผ", "๋ฐฐ", "ํฌ๋", "๋ธ๊ธฐ", "๋ฐ๋๋"]
// for in ๋ฐ๋ณต๋ฌธ
for (let i in array) {
console.log(`{i}๋ฒ์งธ ์์: ${array[i]}`);
}
console.log("----- ๊ตฌ๋ถ์ ----- ")
// for of ๋ฐ๋ณต๋ฌธ
for (let item of array) {
console.log(item);
}
/*
0๋ฒ์งธ ์์: ์ฌ๊ณผ
1๋ฒ์งธ ์์: ๋ฐฐ
2๋ฒ์งธ ์์: ํฌ๋
3๋ฒ์งธ ์์: ๋ธ๊ธฐ
4๋ฒ์งธ ์์: ๋ฐ๋๋
----- ๊ตฌ๋ถ์ -----
์ฌ๊ณผ
๋ฐฐ
ํฌ๋
๋ธ๊ธฐ
๋ฐ๋๋
*/
์ค์ฒฉ ๋ฐ๋ณต๋ฌธ์ ๋ค๋ฅธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์ฌ์ฉ์ด ๋์ผํ๋ค. - for๋ฌธ ์์ for๋ฌธ ...
โป์ค์ฒฉ ๋ฐ๋ณต๋ฌธ ์์
for (let i = 0; i < 10; i++) {
for (let j = 0; j < 10; j++) {
}
}
๐ break ํค์๋, continue ํค์๋
break ํค์๋๋ ์กฐ๊ฑด๋ฌธ์ด๋ ๋ฐ๋ณต๋ฌธ์ ๋ฒ์ด๋ ๋ ์ฌ์ฉํ๋ค.
continue ํค์๋๋ ๋ฐ๋ณต๋ฌธ ๋ด๋ถ์์ ํ์ฌ ๋ฐ๋ณต์ ๋ฉ์ถ๊ณ ๋ค์ ๋ฐ๋ณต์ ์งํํ๊ฒ ํ๋ค.
// break ํค์๋
let i = 0;
let array = [1, 31, 273, 57, 8, 11, 32];
let output;
while (true) {
if array[i] % 2 === 0) {
output = array[i];
break;
}
i = i+1;
}
console.log(`์ฒ์ ๋ฐ๊ฒฌํ ์ง์๋ ${output}์
๋๋ค.`)
// ์ฒ์ ๋ฐ๊ฒฌํ ์ง์๋ 8์
๋๋ค.
// continue ํค์๋
for (let i = 1; i < 10; i++) {
if (i % 2 === 0) {
continue;
}
console.log(i)
}
/*
1
3
5
7
9
*/
๐ var ํค์๋
์๋ฐ์คํฌ๋ฆฝํธ์์ ์ผ๋ฐ์ ์ผ๋ก ๋ณ์๋ฅผ ๋ง๋ค ๋ let ํค์๋๋ฅผ ์ฌ์ฉํ๋ค.
ํ์ง๋ง ์ธํฐ๋ท ์ต์คํ๋ก๋ฌ์์๋ let ํค์๋์ const ํค์๋๋ฅผ ์ง์ํ์ง ์์ผ๋ฏ๋ก var ํค์๋๋ฅผ ์ฌ์ฉํด์ผ ํ๋.
๋ ํค์๋์ ์ฐจ์ด์ ์ '๋ณ์์ ์ค์ฝํ'๋ค.
let ํค์๋ : ์์ฑํ ๋ณ์๋ ํด๋น ๋ธ๋ก ๋ด๋ถ์์๋ง ์ฌ์ฉํ ์ ์๋ค.
var ํค์๋ : ์์ฑํ ๋ณ์ ๋ชจ๋ ๊ณณ์์ ์ฌ์ฉํ ์ ์๋ค.
// let ํค์๋
{
let a = 10;
}
console.log(a);
// ReferenceError: a is not defined
/* ------------------------------------- */
// var ํค์๋
{
var a = 10;
}
console.log(a);
// 10
์ฐธ๊ณ ๋์
- ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ก๊ทธ๋๋ฐ ์ ๋ฌธ
- ์ค๋ฌด์ ๋ฐ๋ก ์ ์ฉํ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋ ๋ ์ํผ 278
'JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] ์๋ฐ์คํฌ๋ฆฝํธ - ํจ์ (0) | 2021.03.29 |
---|---|
[JS] ์๋ฐ์คํฌ๋ฆฝํธ - ๋ฐฐ์ด (0) | 2021.02.25 |
[JS] ์๋ฐ์คํฌ๋ฆฝํธ - ์กฐ๊ฑด๋ฌธ (0) | 2021.01.27 |
[JS] ์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ์ด (0) | 2021.01.26 |
๋๊ธ