1. Hello JavaScript
- ํฌ๋กฌ ๊ฐ๋ฐ์ ๋๊ตฌ์์ Consoleํญ์ ์ด๊ณ ์ฝ๋ ์ ๋ ฅํ๊ธฐ
1) Hello JavaScript ์ถ๋ ฅํ๊ธฐ
console.log('Hello JavaScript!');
- ๊ฒฐ๊ณผ๊ฐ : Hello JavaScript!
ย
2) ์ฐ์ฐ
console.log(1 + 2 + 3 + 4);
- ๊ฒฐ๊ณผ๊ฐ : 10
ย
2. ๋ณ์์ ์์
1) ๋ณ์
- ๋ณ์๋ ๋ฐ๋ ์ ์๋ ๊ฐ
- ๋ณ์ ์ ์ธ ํ ๋์๋
let
ํค์๋ ์ฌ์ฉ
let value = 1;
console.log(value);
- ๊ฒฐ๊ณผ๊ฐ :
1
ย
let value = 1;
console.log(value);
value = 2;
console.log(value);
- ๊ฒฐ๊ณผ๊ฐ
1
2
ย
2) ์์
- ์์์ ๊ฐ์ ํ๋ฒ ์ ์ธํ ๋ค ๋ฐ๋์ง ์์.
- ์์๋ฅผ ์ ์ธ ํ ๋์๋
const
์ฌ์ฉ
const a = 1;
ย
3) var
- ๋ณ์๋ฅผ ์ ์ธํ๋ ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ
- ๋๊ฐ์ ์ด๋ฆ์ผ๋ก ์ฌ๋ฌ๋ฒ ์ ์ธ ๊ฐ๋ฅ
ย
4) ๋ฐ์ดํฐ ํ์
์ซ์(Number) : ๋ฐ๋ก ๊ฐ ๋์ ๊ฐ๋ฅ
let value = 1;
ย
๋ฌธ์์ด(String) : ์์ ๋ฐ์ดํ ํน์ ํฐ ๋ฐ์ดํ๋ก ๊ฐ์ธ์ ์ ์ธ
let text = 'hello';
let name = '์๋ฐ์คํฌ๋ฆฝํธ';
ย
์ฐธ/๊ฑฐ์ง (Boolean) : ์ฐธ์ true, ๊ฑฐ์ง์ false
let value = 1;
ย
null : ๊ฐ์ด ์์๋
const friend = null;
ย
undefined : ์์ง ๊ฐ์ด ์ค์ ๋์ง ์์ ๊ฒ์ ์๋ฏธ
let criminal;
console.log(criminal);
ย
3. ์ฐ์ฐ์
1) ์ฐ์ ์ฐ์ฐ์
- ์ฐ์ ์ฐ์ฐ์๋ ์ฌ์น์ฐ์ฐ๊ณผ ๊ฐ์ ์์
์ ํ๋ ์ฐ์ฐ์๋ฅผ ์๋ฏธํฉ๋๋ค.
+: ๋ง์
-: ๋บผ์
*: ๊ณฑ์
/: ๋๋์
ย
2) ๋์ ์ฐ์ฐ์
- ๋์ ์ฐ์ฐ์๋ ํน์ ๊ฐ์ ์ฐ์ฐ์ ํ ๊ฐ์ ๋ฐ๋ก ์ค์ ํ ๋ ์ฌ์ฉ ํ ์ ์๋ ์ฐ์ฐ์
let a = 1;
a += 3;
a -= 3;
a *= 3;
a /= 3;
console.log(a);
- ๊ฒฐ๊ณผ๊ฐ :
1
ย
3) ๋ ผ๋ฆฌ ์ฐ์ฐ์
- ๋ถ๋ฆฌ์ธ ํ์
(true ํน์ false)๋ฅผ ์ํ ์ฐ์ฐ์
!: NOT
&&: AND
||: OR
ย
4) ์ฐ์ฐ ์์
- NOT -> AND -> OR
ย
5) ๋น๊ต ์ฐ์ฐ์
- ๋ ๊ฐ์ ๋น๊ต ํ ๋ ์ฌ์ฉ
ย
๋ ๊ฐ์ด ์ผ์นํ๋์ง ํ์ธ
'=' ๋ฌธ์ 3๊ฐ ์ฌ์ฉ
- ์ผ์นํ๋ค๋ฉด, true, ์ผ์นํ์ง ์๋๋ค๋ฉด false ๊ฐ ๋ํ๋ฉ๋๋ค. (ํ์ ๊ฒ์ฌ๊น์ง)
const a = 1;
const b = 1;
const equals = a === b;
console.log(equals);
- ๊ฒฐ๊ณผ๊ฐ :
true
ย
'=' ๋ฌธ์ 2๊ฐ ์ฌ์ฉ
- ์ผ์นํ๋ค๋ฉด, true, ์ผ์นํ์ง ์๋๋ค๋ฉด false ๊ฐ ๋ํ๋ฉ๋๋ค.(ํ์ ๊ฒ์ฌ X)
const a = 1;
const b = 1;
const equals = a == b;
console.log(equals);
๊ฒฐ๊ณผ: true
ย
ex1) ์ซ์ 1๊ณผ ๋ฌธ์ '1'์ด ๋์ผํ ๊ฐ์ผ๋ก ๊ฐ์ฃผ
const a = 1;
const b = '1';
const equals = a == b;
console.log(equals);
๊ฒฐ๊ณผ: true
ย
ex2) 0 ๊ณผ false ๋ ๊ฐ์ ๊ฐ์ผ๋ก ๊ฐ์ฃผ
const a = 0;
const b = false;
const equals = a == b;
console.log(equals);
๊ฒฐ๊ณผ: true
ย
ex3) undefined ์ null ๋ ๊ฐ์ ๊ฐ์ผ๋ก ๊ฐ์ฃผ.
const a = null;
const b = undefined;
const equals = a == b;
console.log(equals);
๊ฒฐ๊ณผ: true
ย
๋ ๊ฐ์ด ์ผ์นํ์ง ์๋์ง ํ์ธ
๋ ๊ฐ์ด ์ผ์นํ์ง ์๋์ง ํ์ธ ํ ๋์๋ !==
๋ฅผ ์ฌ์ฉ
const value = 'a' !== 'b';
๊ฒฐ๊ณผ: true
ย
!=
๋ฅผ ์ฌ์ฉํ๋ฉด ํ์
๊ฒ์ฌ X
console.log(1 != '1');
console.log(1 !== '1');
๊ฒฐ๊ณผ: true
ย
ํฌ๊ณ ์์
๋ ๊ฐ ๋น๊ต
const a = 10;
const b = 15;
const c = 15;
console.log(a < b); // true
console.log(b > a); // true
console.log(b >= c); // true
console.log(a <= c); // true
console.log(b < c); // false;
ย
6) ๋ฌธ์์ด ๋ถ์ด๊ธฐ
+
๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌธ์์ด ๋ถ์ด๊ธฐ
const a = '์๋
';
const b = 'ํ์ธ์';
console.log(a + b);
๊ฒฐ๊ณผ: ์๋
ํ์ธ์
ย
4. ์กฐ๊ฑด๋ฌธ
1) if ๋ฌธ
if (์กฐ๊ฑด) {
์ฝ๋;
}
let ๊ณผ const ๋ ๋ค๋ฅธ ๋ธ๋ก ๋ฒ์์์๋ ๋๊ฐ์ ์ด๋ฆ์ผ๋ก ์ ์ธ ํ ์ ์๋ค.
const a = 1;
if (true) {
const a = 2;
console.log('if๋ฌธ ์์ a ๊ฐ์ ' + a);
}
console.log('if๋ฌธ ๋ฐ์ a ๊ฐ์ ' + a);
- ๊ฒฐ๊ณผ
"if๋ฌธ์ ์์ a ๊ฐ์ 2"
"if๋ฌธ ๋ฐ์ a ๊ฐ์ 1"
ย
2) switch/case ๋ฌธ
const device = 'iphone';
switch (device) {
case 'iphone':
console.log('์์ดํฐ!');
break;
case 'ipad':
console.log('์์ดํจ๋!');
break;
case 'galaxy note':
console.log('๊ฐค๋ญ์ ๋
ธํธ!');
break;
default:
console.log('๋ชจ๋ฅด๊ฒ ๋ค์..');
}
ย
5. ํจ์
1) ํจ์
function ํจ์์ด๋ฆ(๋งค๊ฐ๋ณ์) {
์ฝ๋
return ์ํ๋ ๊ฐ;
}
ย
2) ํ์ดํ ํจ์
const ํจ์์ด๋ฆ = (๋งค๊ฐ๋ณ์) => {
์ฝ๋
return ์ํ๋ ๊ฐ;
}
- function ํค์๋ ๋์ ์ => ๋ฌธ์๋ฅผ ์ฌ์ฉํด์ ํจ์๋ฅผ ๊ตฌํ, ํ์ดํ์ ์ข์ธก์๋ ํจ์์ ํ๋ผ๋ฏธํฐ, ํ์ดํ์ ์ฐ์ธก์๋ ์ฝ๋ ๋ธ๋ก์ด ์จ๋ค.
ํ์ดํ ํจ์์ ์ผ๋ฐ function ์ผ๋ก ๋ง๋ ํจ์์์ ์ฃผ์ ์ฐจ์ด์ ์ ํ์ดํ ํจ์์์ ๊ฐ๋ฅดํค๋ this ์ function ์์ ๊ฐ๋ฅดํค๋ this ๊ฐ ์๋ก ๋ค๋ฅด๋ค.
ย
6. ๊ฐ์ฒด
- ๋ณ์ ํน์ ์์๋ฅผ ์ฌ์ฉํ๊ฒ๋ ๋ ํ๋์ ์ด๋ฆ์ ์ฌ๋ฌ ์ข
๋ฅ์ ๊ฐ์ ๋ฃ์ ์ ์๊ฒ ํด์ค๋ค.
ย
1) ๊ฐ์ฒด
- ๊ฐ์ฒด๋ฅผ ์ ์ธ ํ ๋์๋ ์ด๋ ๊ฒ
{ }
๋ฌธ์ ์์ ์ํ๋ ๊ฐ๋ค์ ๋ฃ๊ณ , ๋ด์ฉ์ํค: ์ํ๋๊ฐ
์ ํํ๋ก ๋ฃ์ด์ผ ํ๋ค. - ํค๋ ๊ณต๋ฐฑ์ด ์์ด์ผํ๋ฉฐ, ์์ด์ผํ๋ค๋ฉด ๋ฐ์ดํ๋ก ๊ฐ์ธ๊ธฐ
const sample = {
'key with space': true
};
ย
2) ํจ์์์ ๊ฐ์ฒด๋ฅผ ํ๋ผ๋ฏธํฐ๋ก ๋ฐ๊ธฐ
const ironMan = {
name: 'ํ ๋ ์คํํฌ',
actor: '๋ก๋ฒํธ ๋ค์ฐ๋ ์ฃผ๋์ด',
alias: '์์ด์ธ๋งจ'
};
const captainAmerica = {
name: '์คํฐ๋ธ ๋ก์ ์ค',
actor: 'ํฌ๋ฆฌ์ค ์๋ฐ์ค',
alias: '์บกํด ์๋ฉ๋ฆฌ์นด'
};
function print(hero) {
const text = `{hero.alias}({hero.name}) ์ญํ ์ ๋งก์ ๋ฐฐ์ฐ๋ ${
hero.actor
} ์
๋๋ค.`;
console.log(text);
}
print(ironMan);
print(captainAmerica);
ย
3) ๊ฐ์ฒด ๋น๊ตฌ์กฐํ ํ ๋น
const ironMan = {
name: 'ํ ๋ ์คํํฌ',
actor: '๋ก๋ฒํธ ๋ค์ฐ๋ ์ฃผ๋์ด',
alias: '์์ด์ธ๋งจ'
};
const captainAmerica = {
name: '์คํฐ๋ธ ๋ก์ ์ค',
actor: 'ํฌ๋ฆฌ์ค ์๋ฐ์ค',
alias: '์บกํด ์๋ฉ๋ฆฌ์นด'
};
function print({ alias, name, actor }) {
const text = `{alias}({name}) ์ญํ ์ ๋งก์ ๋ฐฐ์ฐ๋ ${actor} ์
๋๋ค.`;
console.log(text);
}
print(ironMan);
print(captainAmerica);
ย
4) ๊ฐ์ฒด ์์ ํจ์ ๋ฃ๊ธฐ
- ํจ์๊ฐ ๊ฐ์ฒด์์ ๋ค์ด๊ฐ๊ฒ ๋๋ฉด, this ๋ ์์ ์ด ์ํด์๋ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฅดํจ๋ค.
- ๊ฐ์ฒด ์์ ํจ์๋ฅผ ๋ฃ์ ๋, ํ์ดํ ํจ์๋ก ์ ์ธํ๋ค๋ฉด ์ ๋๋ก ์๋ํ์ง ์๋๋ค.
const dog = {
name: '๋ฉ๋ฉ์ด',
sound: '๋ฉ๋ฉ!',
say: function() {
console.log(this.sound);
}
};
dog.say();
ย
5) Getter ํจ์์ Setter ํจ์
- Getter ํจ์์ Setter ํจ์๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ฉด ํน์ ๊ฐ์ ๋ฐ๊พธ๋ ค๊ณ ํ๊ฑฐ๋, ํน์ ๊ฐ์ ์กฐํํ๋ ค๊ณ ํ ๋ ์ฐ๋ฆฌ๊ฐ ์ํ๋ ์ฝ๋๋ฅผ ์คํ ์ํฌ ์ ์๋ค.
onst numbers = {
_a: 1,
_b: 2,
sum: 3,
calculate() {
console.log('calculate');
this.sum = this._a + this._b;
},
get a() {
return this._a;
},
get b() {
return this._b;
},
set a(value) {
console.log('a๊ฐ ๋ฐ๋๋๋ค.');
this._a = value;
this.calculate();
},
set b(value) {
console.log('b๊ฐ ๋ฐ๋๋๋ค.');
this._b = value;
this.calculate();
}
};
console.log(numbers.sum);
numbers.a = 5;
numbers.b = 7;
numbers.a = 9;
console.log(numbers.sum);
console.log(numbers.sum);
console.log(numbers.sum);
- ๊ฒฐ๊ณผ
3
a๊ฐ ๋ฐ๋๋๋ค.
calculate
b๊ฐ ๋ฐ๋๋๋ค.
calculate
a๊ฐ ๋ฐ๋๋๋ค.
calculate
16
16
16
- Setter ํจ์๋ฅผ ์ค์ ํ ๋์๋ ํจ์์ ์๋ถ๋ถ์ set ํค์๋๋ฅผ ๋ถ์ธ๋ค. Setter ํจ์๋ฅผ ์ค์ ํ๊ณ ๋๋ฉด,
numbers.a = 5
์ด๋ ๊ฒ ๊ฐ์ ์ค์ ํ์ ๋5
๋ฅผ ํจ์์ ํ๋ผ๋ฏธํฐ๋ก ๋ฐ์์ค๊ฒ ๋๋ค. ์ ์ฝ๋์์๋ ๊ฐ์ฒด ์์_a
,_b
๋ผ๋ ์ซ์๋ฅผ ์ ์ธํด์ฃผ๊ณ , ์ด ๊ฐ๋ค์ ์ํ Getter ์ Setter ํจ์๋ฅผ ์ค์ ํ๋ค.
ย
7. ๋ฐฐ์ด
- ๋ฐฐ์ด์ ์ฌ๋ฌ๊ฐ์ ํญ๋ชฉ๋ค์ด ๋ค์ด์๋ ๋ฆฌ์คํธ
- ๋ฐฐ์ด์ ์ ์ธ ํ ๋์๋
[ ]
์ฌ์ฉ.
ย
1) ๊ฐ์ฒด ๋ฐฐ์ด ์ ์ธ
const objects = [{ name: '๋ฉ๋ฉ์ด' }, { name: '์ผ์น์ด' }];
console.log(objects);
console.log(objects[0]);
console.log(objects[1]);
2) ๋ฐฐ์ด์ ์ ํญ๋ชฉ ์ถ๊ฐํ๊ธฐ
const objects = [{ name: '๋ฉ๋ฉ์ด' }, { name: '์ผ์น์ด' }];
objects.push({
name: '๋ฉ๋ญ์ด'
});
console.log(objects);
3) ๋ฐฐ์ด์ ํฌ๊ธฐ ์์๋ด๊ธฐ
length
๊ฐ์ ํ์ธ
const objects = [{ name: '๋ฉ๋ฉ์ด' }, { name: '์ผ์น์ด' }];
console.log(objects.length);
objects.push({
name: '๋ฉ๋ญ์ด'
});
console.log(objects.length);
- ๊ฒฐ๊ณผ
2
3
ย
8. ๋ฐ๋ณต๋ฌธ
1) for
for (์ด๊ธฐ ๊ตฌ๋ฌธ; ์กฐ๊ฑด ๊ตฌ๋ฌธ; ๋ณํ ๊ตฌ๋ฌธ;) {
์ฝ๋
}
ย
2) while
while (์กฐ๊ฑด ๊ตฌ๋ฌธ) {
์ฝ๋
}
ย
3) for...of
for...of
๋ฌธ์ ๋ฐฐ์ด์ ๊ดํ ๋ฐ๋ณต๋ฌธ์ ๋๋ฆฌ๊ธฐ ์ํด์ ๋ง๋ค์ด์ง ๋ฐ๋ณต๋ฌธ
let numbers = [10, 20, 30, 40, 50];
for (let number of numbers) {
console.log(number);
}
ย
4) ๊ฐ์ฒด๋ฅผ ์ํ ๋ฐ๋ณต๋ฌธ for...in
- ๊ฐ์ฒด์ ์ ๋ณด๋ฅผ ๋ฐฐ์ด ํํ๋ก ๋ฐ์์ฌ ์์๋ ํจ์
Object.entries: [[ํค, ๊ฐ], [ํค, ๊ฐ]] ํํ์ ๋ฐฐ์ด๋ก ๋ณํ
Object.keys: [ํค, ํค, ํค] ํํ์ ๋ฐฐ์ด๋ก ๋ณํ
Object.values: [๊ฐ, ๊ฐ, ๊ฐ] ํํ์ ๋ฐฐ์ด๋ก ๋ณํ
๊ฐ์ฒด๊ฐ ์ง๋๊ณ ์๋ ๊ฐ์ ๋ํ์ฌ ๋ฐ๋ณต์ ํ๊ณ ์ถ๋ค๋ฉด ์ ํจ์๋ค์ ์ฌ์ฉ ๋๋ for...in ๊ตฌ๋ฌธ์ ์ฌ์ฉ
const doggy = {
name: '๋ฉ๋ฉ์ด',
sound: '๋ฉ๋ฉ',
age: 2
};
for (let key in doggy) {
console.log(`{key}:{doggy[key]}`);
}
ย
5) ์ฐ์ต๋ฌธ์
- ์ซ์๋ก ์ด๋ฃจ์ด์ง ๋ฐฐ์ด์ด ์ฃผ์ด์ก์ ๋, ํด๋น ์ซ์ ๋ฐฐ์ด์์ ๋ค์ด์๋ ์ซ์ ์ค 3๋ณด๋ค ํฐ ์ซ์๋ก๋ง ์ด๋ฃจ์ด์ง ๋ฐฐ์ด์ ์๋ก ๋ง๋ค์ด์ ๋ฐํํด๋ณด์ธ์.
function biggerThanThree(numbers) {
const N = [];
for(let i = 0; i <= numbers.length; i++){
if (numbers[i] > 3) N.push(numbers[i]);
}
return N;
}
const numbers = [1, 2, 3, 4, 5, 6, 7];
console.log(biggerThanThree(numbers)); // ๊ฒฐ๊ณผ ๊ฐ [4, 5, 6, 7]
ย
9. ๋ฐฐ์ด ๋ด์ฅํจ์
1) forEach
function biggerThanThree(numbers) {
const N = [];
for(let i = 0; i <= numbers.length; i++){
if (numbers[i] > 3) N.push(numbers[i]);
}
return N;
}
const numbers = [1, 2, 3, 4, 5, 6, 7];
console.log(biggerThanThree(numbers)); // ๊ฒฐ๊ณผ ๊ฐ [4, 5, 6, 7]
โฌ forEach๋ฅผ ์ฌ์ฉํ๋ฉด
function biggerThanThree(numbers) {
const N = [];
numbers.forEach ( n => {
if(n > 3) N.push(n);
});
return N;
}
const numbers = [1, 2, 3, 4, 5, 6, 7];
console.log(biggerThanThree(numbers)); // ๊ฒฐ๊ณผ ๊ฐ [4, 5, 6, 7]
- forEach ํจ์์ ํ๋ผ๋ฏธํฐ๋ก๋, ๊ฐ ์์์ ๋ํ์ฌ ์ฒ๋ฆฌํ๊ณ ์ถ์ ์ฝ๋๋ฅผ ํจ์๋ก ๋ฃ์ด์ค. ์ด ํจ์์ ํ๋ผ๋ฏธํฐ hero๋ ๊ฐ ์์๋ฅผ ๊ฐ๋ฅดํจ๋ค.
- ํจ์ํํ์ ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฌํ๋ ๊ฒ์ ์ฝ๋ฐฑํจ์ ๋ผ๊ณ ๋ถ๋ฅธ๋ค. ํจ์๋ฅผ ๋ฑ๋กํด์ฃผ๋ฉด, forEach ๊ฐ ์คํ
ย
2) map
- map ์ ๋ฐฐ์ด ์์ ๊ฐ ์์๋ฅผ ๋ณํ ํ ๋ ์ฌ์ฉ
function biggerThanThree(numbers) {
const N = [];
numbers.forEach ( n => {
if(n > 3) N.push(n);
});
return N;
}
const numbers = [1, 2, 3, 4, 5, 6, 7];
console.log(biggerThanThree(numbers)); // ๊ฒฐ๊ณผ ๊ฐ [4, 5, 6, 7]
export default biggerThanThree;
โฌ map์ ์ฌ์ฉํ๋ฉด
function biggerThanThree(numbers) {
const N = numbers.map(n => {
if(n>3) return n;
}).filter(data => data);
return N;
}
const numbers = [1, 2, 3, 4, 5, 6, 7];
console.log(biggerThanThree(numbers)); // ๊ฒฐ๊ณผ ๊ฐ [4, 5, 6, 7]
ย
3) indexOf
indexOf
๋ ์ํ๋ ํญ๋ชฉ์ด ๋ช๋ฒ์งธ ์์์ธ์ง ์ฐพ์์ฃผ๋ ํจ์
const dogs = ['์ฟ ํค', '์ฟ ๋ง', '์ฟ ๋กฑ', '์์ฐ'];
const index = dogs.indexOf('์ฟ ๋กฑ');
console.log(index); // ๊ฒฐ๊ณผ ๊ฐ 2
ย
4) findIndex
indexOf
ํจ์๋ก๋ ๋ฐฐ์ด ์์ ์๋ ๊ฐ์ด ๊ฐ์ฒด์ด๊ฑฐ๋, ๋ฐฐ์ด์ด๋ผ๋ฉด ์ฐพ์ ์ ์๋ค -> ์ด๋ด๋findIndex
๋ฅผ ์ฌ์ฉ !
const todos = [
{
id: 1,
text: '์๋ฐ์คํฌ๋ฆฝํธ ์
๋ฌธ',
done: true
},
{
id: 2,
text: 'ํจ์ ๋ฐฐ์ฐ๊ธฐ',
done: true
},
{
id: 3,
text: '๊ฐ์ฒด์ ๋ฐฐ์ด ๋ฐฐ์ฐ๊ธฐ',
done: true
},
{
id: 4,
text: '๋ฐฐ์ด ๋ด์ฅํจ์ ๋ฐฐ์ฐ๊ธฐ',
done: false
}
];
const index = todos.findIndex(todo => todo.id === 3);
console.log(index); // ๊ฒฐ๊ณผ ๊ฐ 2
ย
5) find
- ์ฐพ์๋ธ ๊ฐ ์์ฒด๋ฅผ ๋ฐํ
const todos = [
{
id: 1,
text: '์๋ฐ์คํฌ๋ฆฝํธ ์
๋ฌธ',
done: true
},
{
id: 2,
text: 'ํจ์ ๋ฐฐ์ฐ๊ธฐ',
done: true
},
{
id: 3,
text: '๊ฐ์ฒด์ ๋ฐฐ์ด ๋ฐฐ์ฐ๊ธฐ',
done: true
},
{
id: 4,
text: '๋ฐฐ์ด ๋ด์ฅํจ์ ๋ฐฐ์ฐ๊ธฐ',
done: false
}
];
const todo = todos.find(todo => todo.id === 3);
console.log(todo);
- ๊ฒฐ๊ณผ :
{id: 3, text: "๊ฐ์ฒด์ ๋ฐฐ์ด ๋ฐฐ์ฐ๊ธฐ", done: true}
ย
6) filter
- ๋ฐฐ์ด์์ ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๊ฐ๋ค๋ง ๋ฐ๋ก ์ถ์ถํ์ฌ ์๋ก์ด ๋ฐฐ์ด์ ๋ง๋ ๋ค.
- todos ๋ฐฐ์ด์์ done ๊ฐ์ด false ์ธ ํญ๋ชฉ๋ค๋ง ๋ฐ๋ก ์ถ์ถํด์ ์๋ก์ด ๋ฐฐ์ด ์์ฑ
const todos = [
{
id: 1,
text: '์๋ฐ์คํฌ๋ฆฝํธ ์
๋ฌธ',
done: true
},
{
id: 2,
text: 'ํจ์ ๋ฐฐ์ฐ๊ธฐ',
done: true
},
{
id: 3,
text: '๊ฐ์ฒด์ ๋ฐฐ์ด ๋ฐฐ์ฐ๊ธฐ',
done: true
},
{
id: 4,
text: '๋ฐฐ์ด ๋ด์ฅํจ์ ๋ฐฐ์ฐ๊ธฐ',
done: false
}
];
const tasksNotDone = todos.filter(todo => todo.done === false);
console.log(tasksNotDone);
- ๊ฒฐ๊ณผ
[
{
id: 4,
text: '๋ฐฐ์ด ๋ด์ฅ ํจ์ ๋ฐฐ์ฐ๊ธฐ',
done: false
}
];
โฌ ์๋์ฒ๋ผ๋ ์ฌ์ฉ๊ฐ๋ฅ
const tasksNotDone = todos.filter(todo => !todo.done);
ย
7) splice
- ๋ฐฐ์ด์์ ํน์ ํญ๋ชฉ์ ์ ๊ฑฐํ ๋ ์ฌ์ฉ
- splice ๋ฅผ ์ฌ์ฉ ํ ๋ ์ฒซ๋ฒ์งธ ํ๋ผ๋ฏธํฐ๋ ์ด๋ค ์ธ๋ฑ์ค๋ถํฐ ์ง์ธ์ง๋ฅผ ์๋ฏธํ๊ณ ๋๋ฒ์งธ ํ๋ผ๋ฏธํฐ๋ ๊ทธ ์ธ๋ฑ์ค๋ถํฐ ๋ช๊ฐ๋ฅผ ์ง์ธ์ง๋ฅผ ์๋ฏธํ๋ค.
const numbers = [10, 20, 30, 40];
const index = numbers.indexOf(30);
numbers.splice(index, 1);
console.log(numbers);
- ๊ฒฐ๊ณผ :
[10, 20, 40]
ย
8) slice
- ๋ฐฐ์ด์ ์๋ผ๋ผ ๋ ์ฌ์ฉ, ๊ธฐ์กด์ ๋ฐฐ์ด์ ๊ฑด๋ค์ด์ง ์๋๋ค.
- slice ์๋ ๋๊ฐ์ ํ๋ผ๋ฏธํฐ๋ฅผ ๋ฃ๊ฒ ๋๋๋ฐ ์ฒซ๋ฒ์งธ ํ๋ผ๋ฏธํฐ๋ ์ด๋์๋ถํฐ ์๋ฅผ์ง, ๋๋ฒ์งธ ํ๋ผ๋ฏธํฐ๋ ์ด๋๊น์ง ์๋ฅผ์ง๋ฅผ ์๋ฏธํ๋ค.
const numbers = [10, 20, 30, 40];
const sliced = numbers.slice(0, 2); // 0๋ถํฐ ์์ํด์ 2์ ๊น์ง
console.log(sliced); // [10, 20]
console.log(numbers); // [10, 20, 30, 40]
ย
9) shift ์ pop
shift
: ์ฒซ๋ฒ์งธ ์์๋ฅผ ๋ฐฐ์ด์์ ์ถ์ถํด์ค๋ค. (์ถ์ถํ๋ ๊ณผ์ ์์ ๋ฐฐ์ด์์ ํด๋น ์์๋ ์ฌ๋ผ์ง๋ค.)
const numbers = [10, 20, 30, 40];
const value = numbers.shift();
console.log(value);
console.log(numbers);
- ๊ฒฐ๊ณผ
10
[20, 30, 40]
pop
:push
์ ๋ฐ๋,push
๋ ๋ฐฐ์ด์ ๋งจ ๋ง์ง๋ง์ ์ ํญ๋ชฉ์ ์ถ๊ฐ,pop
์ ๋งจ ๋ง์ง๋ง ํญ๋ชฉ์ ์ถ์ถ
const numbers = [10, 20, 30, 40];
const value = numbers.pop();
console.log(value);
console.log(numbers);
- ๊ฒฐ๊ณผ
40
[10, 20, 30]
ย
10) unshift
shift
์ ๋ฐ๋, ๋ฐฐ์ด์ ๋งจ ์์ ์ ์์ ์ถ๊ฐ
const numbers = [10, 20, 30, 40];
numbers.unshift(5);
console.log(numbers);
- ๊ฒฐ๊ณผ :
[5, 10, 20, 30, 40]
ย
11) concat
- ์ฌ๋ฌ๊ฐ์ ๋ฐฐ์ด์ ํ๋์ ๋ฐฐ์ด๋ก ํฉ์ณ์ค
- ๊ธฐ์กดํจ์์ ์ํญ์ ์ฃผ์ง ์์.
const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const concated = arr1.concat(arr2);
console.log(concated);
- ๊ฒฐ๊ณผ :
[1, 2, 3, 4, 5, 6];
ย
12) join
- ๋ฐฐ์ด ์์ ๊ฐ๋ค์ ๋ฌธ์์ด ํํ๋ก ํฉ์ณ์ค.
const array = [1, 2, 3, 4, 5];
console.log(array.join()); // 1,2,3,4,5
console.log(array.join(' ')); // 1 2 3 4 5
console.log(array.join(', ')); // 1, 2, 3, 4, 5
ย
13) reduce
- ์ฒซ๋ฒ์งธ ํ๋ผ๋ฏธํฐ๋ accumulator ์ current ๋ฅผ ํ๋ผ๋ฏธํฐ๋ก ๊ฐ์ ธ์์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ ์ฝ๋ฐฑํจ์, ๋๋ฒ์งธ ํ๋ผ๋ฏธํฐ๋ reduce ํจ์์์ ์ฌ์ฉ ํ ์ด๊น๊ฐ
- ๋ฐฐ์ด์ ์ด ํฉ ๊ตฌํ๊ธฐ
const numbers = [1, 2, 3, 4, 5];
let sum = numbers.reduce((accumulator, current) => accumulator + current, 0);
console.log(sum); // ๊ฒฐ๊ณผ ๊ฐ : 15
- ๋ฐฐ์ด์ ํ๊ท ๊ตฌํ๊ธฐ
const numbers = [1, 2, 3, 4, 5];
let sum = numbers.reduce((accumulator, current, index, array) => {
if (index === array.length - 1) {
return (accumulator + current) / array.length;
}
return accumulator + current;
}, 0);
console.log(sum); // ๊ฒฐ๊ณผ ๊ฐ : 3
ย
14) ํด์ฆ
- ์ซ์ ๋ฐฐ์ด์ด ์ฃผ์ด์ก์ ๋ 10๋ณด๋ค ํฐ ์ซ์์ ๊ฐฏ์๋ฅผ ๋ฐํํ๋ ํจ์๋ฅผ ๋ง๋ค๊ธฐ
function countBiggerThanTen(numbers) {
let count = 0;
for(let number of numbers){
if(number>10) count++;
}
return count;
}
const count = countBiggerThanTen([1, 2, 3, 5, 10, 20, 30, 40, 50, 60]);
console.log(count); // 5
ย