๊ตญ๋น์ง์ D+37
- ๋ฐฐ์ด์ for๋ฌธ, ํจ์์ ๊ธฐ๋ณธ, ์ฝ๋ฐฑํจ์ -
๋ฐฐ์ด์ for๋ฌธ
const arr = [11, 22, 33, 44, 55];
for(let i = 0; i < arr.length; i++)
{
console.log(i, arr[i]);
}
// 0 11
// 1 22
// 2 33
// 3 44
// 4 55
์๋ฐ์คํฌ๋ฆฝํธ์ for๋ฌธ์์ ์ฐ๋ฆฌ๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ์๊ณ ์๋ for๋ฌธ๋ ์กด์ฌํ์ง๋ง ๊ทธ๋ฐ์๋ 2๊ฐ์ง๊ฐ ๋์๋ค.
• for in ๋ฐ๋ณต๋ฌธ
- ๋ฐฐ์ด์ ํ๋ฐํด ๋ค ๋๋ ๋ฐ๋ณต๋ฌธ์ผ๋ก ๋ฐฐ์ด์ index ๊ฐ์ ๊ฐ์ ธ์จ๋ค.
const arr = [11, 22, 33, 44, 55];
for(const index in arr)
{
console.log(index);
}
// 0
// 1
// 2
// 3
// 4
• for of ๋ฐ๋ณต๋ฌธ
- ๋ฐฐ์ด์ ํ๋ฐํด ๋ค ๋๋ ๋ฐ๋ณต๋ฌธ์ผ๋ก ๋ฐฐ์ด์ element ๊ฐ์ ๊ฐ์ ธ์จ๋ค.
const arr = [11, 22, 33, 44, 55];
for(const val in arr)
{
console.log(val);
}
// 11
// 22
// 33
// 44
// 55
for in๊ณผ for of๋ฅผ ์ฌ์ฉํ๋ฉด์ ์์์ผํ๋ ๊ฒ์ ๊ธฐ์กด์ ์ฐ๋ฆฌ๋ for๋ฅผ ์ฌ์ฉํ ๋ let์ด๋ผ๋ ํค์๋๋ฅผ ์ฌ์ฉํ๋๋ฐ for in๊ณผ for of๊ฐ์ ๊ฒฝ์ฐ๋ const๋ผ๋ ํค์๋๋ฅผ ์ฌ์ฉํด๋ ์๋ฌ๊ฐ ๋ฐ์ํ์ง ์๋๋ฐ ์ด์ ๋ ๋ณ์์ ๊ฐ์ ๋ฐ๋ณต๋ฌธ์ ๋๋ฆด๋๋ง๋ค ์์ ํ๋ ๊ฒ์ด ์๋๋ผ ์๋ก์ด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋งค๋ฒ ์๋ก ์์ฑํ๊ธฐ ๋๋ฌธ์ ์ค๋ฅ๊ฐ ๋ฐ์๋์ง ์๋ ๊ฒ์ด๋ค.
ํจ์์ ๊ธฐ๋ณธ
• ํจ์์ ์ข ๋ฅ
- ์ ์ธํจ์ : ES5๋ฐฉ์, ํจ์์ ์ด๋ฆ์ด ์์.
- ์ต๋ช ํจ์ : ES6๋ฐฉ์, ํจ์์ ์ด๋ฆ์ด ์์.
// ์ ์ธํจ์
// ES5 ๋ฐฉ์
function myfunc(a, b)
{
let k = a + b;
return k;
}
// ์ต๋ช
ํจ์
// ES6 ๋ฐฉ์
const myfunc2 = function(a, b)
{
let k = a + b;
return k;
}
console.log(myfunc(10, 20));
console.log(myfunc2(4, 9));
์๋ฐ์คํฌ๋ฆฝํธ์์์ ํจ์๋ ํฌ๊ฒ ๋๊ฐ์ง๊ฐ ์๋๋ฐ ์ต๋ช ํจ์์ ์ ์ธํจ์์ด๋ค.
์ ์ธํจ์๋ ๊ธฐ์กด ES5์์ ์ฌ์ฉ๋๋ ๊ฒ์ผ๋ก ํจ์์์ ๋ฐ๋ก ํจ์๋ช ์ ๋ฃ์ด์ ์ฌ์ฉํด์ฃผ๋ ๊ฒ์ผ๋ก ํจ์๋ฅผ ์คํํ ๋์ "()"๋ฅผ ๋ถ์ฌ ์คํํ๋๋ก ํ๋ฉฐ, ์ด๋ ํจ์๋ช ์ ํจ์ ์์ฒด๋ฅผ ์๋ฏธํ๋ ๊ฒ์ด ์๋๋ผ ์ฐธ์กฐ๊ฐ์ ๋ํ๋ธ๋ค.
์ต๋ช ํจ์๋ ํจ์์ ํจ์๋ช ์ ๋ถ์ฌ์ฃผ์ง ์์ ๋ฟ ๋ณ์์ ๋ฐ๋ก ๋ด์์ฃผ๋ ํํ๋ก ๋ง์ฐฌ๊ฐ์ง๋ก ํด๋น ๋ณ์๋ ํจ์๊ฐ ์๋ ์ต๋ช ํจ์์ ์ฐธ์กฐ๊ฐ์ ๋ํ๋ด๋ฉฐ ์ ์ธํจ์์ ์ต๋ช ํจ์์์ ๋งค์ปค๋์ฆ์ ์ผ์นํ๋ค๋ ๊ฒ์ ์ ์ ์๋ค.
• ๊ฐ๋ณ ํ๋ผ๋ฏธํฐ
function func(...items)
{
console.log(items);
}
func(1, 2, 3); // items = [1, 2, 3];๋ก ๋ฐ๋๋ค.
func(1, 2, 3, 4, 5); // items = [1, 2, 3, 4, 5];๋ก ๋ฐ๋๋ค.
- ๊ฐ๋ณ ํ๋ผ๋ฏธํฐ๋ ๊ฐ๋ณ์ ์ธ ํ๋ผ๋ฏธํฐ์ ๊ฐ์๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํ ๊ธฐ๋ฒ์ผ๋ก ํ๋ผ๋ฏธํฐ ์ ๋ณ์์์ "..."์ ๋ถ์ฌ์ ์ฌ์ฉํด ์ฃผ๋ฉด ๋๋ค.
- ๋ง์ฝ function func(...items){...}๊ฐ ์์๋ items๋ ๋ช๊ฐ์ ๋ฐ์ดํฐ๊ฐ ์๋ items๋ผ๋ ๋ฐฐ์ด์์ ๋ด์๋ฒ๋ฆฌ๋ฉฐ func์์ ํจ์๋ ๋ฐฐ์ดํ์์ผ๋ก ์ฒ๋ฆฌํด๋ฒ๋ฆฐ๋ค.
- ๊ฐ๋ณ ํ๋ผ๋ฏธํฐ์ ์ผ๋ฐ ํ๋ผ๋ฏธํฐ์ ์กฐํฉ
function func(a, b, ...items)
{
console.log(a);
console.log(b);
console.log(items);
}
func(1, 2); // a = 1, b = 2, items = []
func(1, 2, 3); // a = 1, b = 2, items = [3]
func(1, 2, 3, 4, 5); // a = 1, b = 2, items = [3, 4, 5]
- ๊ฐ๋ณ ํ๋ผ๋ฏธํฐ๋ ์ผ๋ฐ ํ๋ผ๋ฏธํฐ์๋ ํจ๊ป ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ์ฌ์ฉํ ๋ ๋ฐ๋์ ๊ฐ๋ณํ๋ผ๋ฏธํฐ๊ฐ ๋ค์ ์์นํด ์์ด์ผ ํ๋ค.
• ์ ๊ฐ ์ฐ์ฐ์
const dummy = function (a, b, c)
{
console.log(a);
console.log(b);
console.log(c);
}
const ar = [1, 2, 3];
// ๋ ํจ์ ํธ์ถ๋ฐฉ์์ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ค.
dummy(ar[0], ar[1], ar[2]);
dummy(...ar);
- ๋ณต์์ ํ๋ผ๋ฏธํฐ๋ฅผ ๊ฐ์ง ํจ์์ ๋ฐฐ์ด์ ์ ๋ฌํ๊ณ ์ ํ ๋ ์ฌ์ฉํ๋ ์ฐ์ฐ์์ด๋ค.
- ํธ์ถ์ "...๋ฐฐ์ด๋ช " ๋ฐฉ์์ผ๋ก ํธ์ถํ๋ค.
์ฝ๋ฐฑํจ์
์๋ฐ์คํฌ๋ฆฝํธ์์ ํจ์๋ ๋ค๋ฅธ ํจ์์ ์ธ์๋ก ์ฌ์ฉ๋ ์ ์๋๋ฐ ์ด ๊ณผ์ ์์ ๋ค๋ฅธ ํจ์์ ์ํด ์ธ์๋ก ๋ฐ์ ํจ์์ ๊ฒฐ๊ณผ๊ฐ ๋ฆฌํด๋ ์๋ ์๋ค.
์ฆ, ํจ์๋ฅผ ๋ฐ๋ก ์คํํ๋ ๊ฒ์ด ์๋๋ผ ๋ค๋ฅธ ํจ์๋ฅผ ํตํด ํ์ํ ๋ ์คํ๋๋ ํจ์๋ฅผ ์ฝ๋ฐฑํจ์๋ผ๊ณ ํ๋ค.
=> ํจ์์ ๋ ํผ๋ฐ์ค ๊ฐ์ ํ๋ผ๋ฏธํฐ๋ก ์ ๋ฌํ์ฌ ํธ์ถ๋๋ ํจ์
• forEach
- ๋ฐฐ์ด์ ์์๋ฅผ ์ํํ๋ค.
const numbers = [11, 22, 33, 44, 55];
numbers.forEach((value, index) => { console.log(index, value) });
// 0 11
// 1 22
// 2 33
// 3 44
// 4 55
• map
- ํธ์ถํ ๊ฒฐ๊ณผ๋ฅผ ๋ชจ์ ์๋ก์ด ๋ฐฐ์ด์ ๋ฐํํ๋ค.
const numbers = [10, 20, 30, 40, 50];
const newNumbers = numbers.map((value) => value + 5);
console.log(newNumbers);
// [15, 25, 35, 45, 55]
• filter
- ์ฃผ์ด์ง ํจ์์ ํ ์คํธ๋ฅผ ํต๊ณผํ๋ ๋ชจ๋ ์์๋ฅผ ๋ชจ์ ์๋ก์ด ๋ฐฐ์ด๋ก ๋ฐํํ๋ค.
const numbers = [1, 2, 3, 4, 5];
const newNumbers = numbers.filter((value)=> { if(value < 4) { return true; } });
console.log(newNumbers);
// [1, 2, 3]
'์๋ > ๊ตญ๋น์ง์' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[D+39] ์ค์ฝํ, ํด๋ก์ , JSON (0) | 2022.11.16 |
---|---|
[D+38] ํจ์ ๊ณ ๊ธ, ๊ฐ์ฒด (0) | 2022.11.15 |
[D+36] javascript ๋ฑ์ฅ๋ฐฐ๊ฒฝ ๋ฐ ๊ธฐ์ด (0) | 2022.11.11 |
[D+35] CSS ๊ฐ๋ , ์ ํ์, font-size, Box model (0) | 2022.11.11 |
[D+35] ๊ณต๊ฐ๋ถํ ํ๊ทธ, ์๋ฉํฑํ๊ทธ (0) | 2022.11.10 |
๋๊ธ