1. ์กฐ๊ฑด๋ฌธ
์กฐ๊ฑด๋ฌธ์ด๋? ์ด๋ค ์กฐ๊ฑด์ ํ๋ณํ๋ ๊ธฐ์ค์ ๋ง๋๋ ๊ฒ์ผ๋ก, ๋ฐ๋์ ๋น๊ต ์ฐ์ฐ์ ๋๋ ๋ ผ๋ฆฌ ์ฐ์ฐ์๊ฐ ํ์ํ๋ค.
โ๏ธ ๋น๊ต ์ฐ์ฐ์
๋น๊ต ์ฐ์ฐ์๋ ํผ์ฐ์ฐ์๋ฅผ ์๋ก ๋น๊ตํ๊ณ , ๋น๊ต ๊ฒฐ๊ณผ๊ฐ ์ฐธ์ธ์ง ๊ฑฐ์ง์ธ์ง์ ๋ฐ๋ผ ๋ ผ๋ฆฌ๊ฐ์ธ true ๋๋ false๋ฅผ ๋ฐํํ๋ค.
ํผ์ฐ์ฐ์๋ก๋ Number, String, Boolean, ๊ฐ์ฒด ๊ฐ์ ์ฌ์ฉํ ์ ์๋ค.
- ๋น๊ต ์ฐ์ฐ์์ ์ข
๋ฅ
- ๋๋ฑ (==)
- ๋ถ๋ฑ (!=)
- ์ผ์น (===)
- ๋ถ์ผ์น (!==)
- ํผ (>)
- ํฌ๊ฑฐ๋ ๊ฐ์ (>=)
- ์์ (<)
- ์๊ฑฐ๋ ๊ฐ์ (<=)
๐ ๋น๊ต ์ฐ์ฐ์ ์ฌ์ฉ์ ์ฃผ์์ฌํญ ๐
|
โ๏ธ ๋ ผ๋ฆฌ ์ฐ์ฐ์
๋ ผ๋ฆฌ ์ฐ์ฐ์๋ Boolean ๊ฐ์ ํจ๊ป ์ฌ์ฉํด์ Boolean ๊ฐ์ ๋ฐํํ๋ ์ฐ์ฐ์์ด๋ค.
- ๋
ผ๋ฆฌ ์ฐ์ฐ์์ ์ข
๋ฅ
- AND (&&) : 2๊ฐ์ง ์กฐ๊ฑด์ด ๋ชจ๋ ์ฐธ์ผ ๋๋ true, ๊ทธ ์ธ์๋ false๋ฅผ ๋ฐํํ๋ค
- OR (||) : 2๊ฐ์ง ์กฐ๊ฑด ์ค ํ๋๋ง ์ฐธ์ด์ด๋ true, ๊ทธ ์ธ์๋ false๋ฅผ ๋ฐํํ๋ค.
- NOT (!) : truthyํ ๊ฐ์ false๋ก, falsyํ ๊ฐ์ true๋ก ๋ฐํํ๋ค.
/* AND ์ฐ์ฐ์ */
true && true; // true
true && false; // false
false && false; // false
/* OR ์ฐ์ฐ์ */
true || true; // true
true || false; // true
false || false; // false
/* NOT ์ฐ์ฐ์ */
!true; // false
!false; // true
!undefined; // true
!'today'; // false
๐ truthyํ ๊ฐ๊ณผ falsyํ ๊ฐ๐
|
โ๏ธ ์กฐ๊ฑด๋ฌธ์ ํํ์
- if๋ฌธ
if (์กฐ๊ฑด 1) {
// ์กฐ๊ฑด 1์ด ํต๊ณผํ ๊ฒฝ์ฐ
} else if (์กฐ๊ฑด 2) {
// ์กฐ๊ฑด 1์ด ํต๊ณผํ์ง ์๊ณ
// ์กฐ๊ฑด 2๊ฐ ํต๊ณผํ ๊ฒฝ์ฐ
} else {
// ๋ชจ๋ ์กฐ๊ฑด์ด ํต๊ณผํ์ง ์์ ๊ฒฝ์ฐ
}
if (20220823 < 20220824) {
return '์ค๋์ 2022๋
8์ 23์ผ์ด๋ค์!';
} else
return '์ค๋์ 2022๋
8์ 24์ผ์ด๋ค์!';
2. ๋ฌธ์์ด
๋ฌธ์์ด์ด๋? ์์ ๋ฐ์ดํ(') ๋๋ ํฐ ๋ฐ์ดํ(")๋ก ๊ฐ์ธ์ง ๊ฐ
๋ฌธ์์ด ๋ด์ ๋ ์์ ๋ฐ์ดํ๋ ํฐ ๋ฐ์ดํ๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ ์๋ฌ๊ฐ ๋ฐ์ํ๋ฏ๋ก ์ด์ค์ผ์ดํ ํ๊ธฐ๋ฒ(\', \")์ ์ฌ์ฉํ๋ค.
let poem = '๋ณ์ '๋
ธ๋ํ๋' ๋ง์์ผ๋ก';
// Uncaught SyntaxError: Unexpected identifier
let poem = '๋ณ์ \'๋
ธ๋ํ๋\' ๋ง์์ผ๋ก';
console.log(poem);
// expected output: ๋ณ์ '๋
ธ๋ํ๋' ๋ง์์ผ๋ก
๋ฌธ์์ด์ ์ธ๋ฑ์ค๋ก ์ ๊ทผ์ ๊ฐ๋ฅํ์ง๋ง ์๋ก ์ธ ์๋ ์๋ค.
var poem = '๋ณ์ ๋
ธ๋ํ๋ ๋ง์์ผ๋ก';
console.log([0]); // '๋ณ'
console.log([4]); // '๋'
console.log([14]); // undefined
poem[0] = '๋ฌ'
console.log(poem); // '๋ณ์ ๋
ธ๋ํ๋ ๋ง์์ผ๋ก' not '๋ฌ์ ๋
ธ๋ํ๋ ๋ง์์ผ๋ก'
๋ฌธ์์ด์ + ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํด ์๋ก ์ฐ๊ฒฐํ ์ ์๊ณ String๊ณผ ๋ค๋ฅธ ํ์ ์ฌ์ด์ + ์ฐ์ฐ์๊ฐ ์ฌ์ฉ๋๋ฉด String ํ์ ์ผ๋ก ๋ณํ๋ผ ์ฐ๊ฒฐ๋๋ค.
var poem1 = '๋ณ์ ๋
ธ๋ํ๋ ๋ง์์ผ๋ก '
var poem2 = '๋ชจ๋ ์ฃฝ์ด๊ฐ๋ ๊ฒ์ ์ฌ๋ํด์ผ์ง '
var poetry = '์ค๋์ฃผ '
console.log(poem1 + poem2); // '๋ณ์ ๋
ธ๋ํ๋ ๋ง์์ผ๋ก ๋ชจ๋ ์ฃฝ์ด๊ฐ๋ ๊ฒ์ ์ฌ๋ํด์ผ์ง '
console.log(poetry + 1941); // '์ค๋์ฃผ 1941'
poem1.concat(poem2, poetry); // '๋ณ์ ๋
ธ๋ํ๋ ๋ง์์ผ๋ก ๋ชจ๋ ์ฃฝ์ด๊ฐ๋ ๊ฒ์ ์ฌ๋ํด์ผ์ง ์ค๋์ฃผ'
โ๏ธ ์์ฑ (property)
๊ฐ์ฒด ๋ด๋ถ์ ์๋ ๊ฐ์ '์์ฑ'์ด๋ผ๊ณ ํ๋ค.
- ๋ฌธ์์ด ๊ธธ์ด : String.length
var city = 'incheon';
console.log(city.length); // 7
โ๏ธ ๋ฉ์๋ (method)
์์ฑ ์ค ์๋ฃํ์ด ํจ์์ธ ๊ฒ์ '๋ฉ์๋'๋ผ๊ณ ํ๋ค. ๋ชจ๋ String ๋ฉ์๋๋ ์๋ณธ์ด ๋ณํ์ง ์๋ immutableํ ํจ์์ด๋ค.
- ๋ฌธ์์ด ์ ๊ทผ
- String.indexOf() : ์ฐพ๊ณ ์ ํ๋ ๋ฌธ์์ด์ด ์ฒ์์ผ๋ก ์ผ์นํ๋ ์ธ๋ฑ์ค ๊ฐ์ Number ํ์ ์ผ๋ก ๋ฐํํ๋ค.
- String.lastIndexOf() : ์ฐพ๊ณ ์ ํ๋ ๋ฌธ์์ด์ ๋ค์์๋ถํฐ ํ์ํด ์ฒ์์ผ๋ก ์ผ์นํ๋ ์ธ๋ฑ์ค ๊ฐ์ Number ํ์ ์ผ๋ก ๋ฐํํ๋ค.
- String.includes() : ์ฐพ๊ณ ์ ํ๋ ๋ฌธ์์ด์ด ํฌํจ ๋์ด์๋์ง ์ฌ์ค ์ฌ๋ถ๋ฅผ Boolean ํ์ ์ผ๋ก ๋ฐํํ๋ค.
let city = 'inchoen';
// indexOf()
city.indexOf('in'); // 0
city.indexOf(); // -1 ์๋ฌด ๊ฐ๋ ์ง์ ํ์ง ์์ ๊ฒฝ์ฐ -1 ๋ฐํ
city.indexOf('n') // 1
// lastIndexOf()
city.lastIndexOf('n') // 6
// includes()
city.includes('cheon') // true
city.includes('seoul') // false
- ๋ฌธ์์ด ๋ฐํ
- String.charAt() : ์ ๋ฌ ๋ฐ์ ์์น์ ์๋ ์ธ๋ฑ์ค ๊ฐ์ String ํ์ ์ผ๋ก ๋ฐํํ๋ค.
let city = 'incheon';
city.charAt(4); // 'e'
city.charAt(10); // '' ์ ๋ฌ๋ฐ์ ์ธ๋ฑ์ค๊ฐ ๋ฌธ์์ด ๊ธธ์ด๋ณด๋ค ํด ๊ฒฝ์ฐ ๋น ๋ฌธ์์ด์ ๋ฐํํ๋ค.
- ๋ฌธ์์ด ๋ถ๋ฆฌ
- String.split() : ์ ๋ฌ ๋ฐ์ ๋ฌธ์์ด์ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด์ ๋๋ ๋ค, Array ํ์ ์ผ๋ก ๋ฐํํ๋ค.
let city = 'incheon, seoul, jeonju';
city.split(', '); // ['incheon', 'seoul', 'jeonju']
city.split(); // ['incheon, seoul, jeonju'] ์๋ฌด๊ฒ๋ ์
๋ ฅํ์ง ์์์ง ๋ฌธ์์ด์ ํต์งธ๋ก ๋ฐฐ์ด์ ์ ์ฅํ๋ค.
city.split(''); // ['i', 'n', 'c', 'h', 'e', 'o', 'n', ' ', 's', 'e', 'o', 'u', 'l', ' ', 'j', 'e', 'n', 'j', 'u']
// ๋ฌธ์์ด์ ํ๋์ฉ ๋๋ ๋ฐฐ์ด์ ์ ์ฅํ๋ค.
- ๋ฌธ์์ด ์ถ์ถ
- String.subtr() : ์ ๋ฌ ๋ฐ์ ์์ ์ธ๋ฑ์ค๋ก๋ถํฐ ์ ๋ฌ ๋ฐ์ ๊ธธ์ด๋งํผ์ ๋ฌธ์์ด์ ์ถ์ถํ๋ค.
- String.substring() : ์ ๋ฌ ๋ฐ์ ์์ ์ธ๋ฑ์ค๋ถํฐ ์ ๋ฌ ๋ฐ์ ๋ ์ธ๋ฑ์ค ์ฌ์ด์ ๋ฌธ์์ด์ ์ถ์ถํ๋ค.
- String.slice() : ์ ๋ฌ ๋ฐ์ ์์ ์ธ๋ฑ์ค๋ก๋ถํฐ ์ ๋ฌ ๋ฐ์ ๋ ์ธ๋ฑ์ค ์ฌ์ด์ ๋ฌธ์์ด์ ์ถ์ถํ๋ค.
let city = 'incheon';
city.substr(1, 4); // 'nche' city[1]๋ถํฐ ๊ธธ์ด๊ฐ 4์ธ ๋ฌธ์์ด์ ์ถ์ถํ๋ค.
city.substring(1, 4); // 'nch' city[1]๊ณผ city[4] ์ฌ์ด์ ๋ฌธ์์ด์ ์ถ์ถํ๋ค.
city.slice(1, 4); // 'nch' city[1]๊ณผ city[4] ์ฌ์ด์ ๋ฌธ์์ด์ ์ถ์ถํ๋ค.
city.substring(4, 1); // 'nch' start ๊ฐ๊ณผ end ๊ฐ์ ์์๋ฅผ ๋ณ๊ฒฝํด๋ ๊ฐ์ ๋ฌธ์์ด์ด ์ถ์ถ๋๋ค.
city.slice(4, 1); // '' start ๊ฐ๊ณผ end ๊ฐ์ ์์๋ฅผ ๋ณ๊ฒฝํ๋ฉด ๋น ๋ฌธ์์ด์ด ์ถ์ถ๋๋ค.
city.substring(-2, 7); // 'incheon' ์์๋ฅผ 0์ผ๋ก ์ทจ๊ธํ์ฌ city[0]๊ณผ city[7] ์ฌ์ด์ ๋ฌธ์์ด์ ์ถ์ถํ๋ค.
city.slice(-2, 7); // 'on' ์์๊ฐ ๋ถ์ ์๋ ๋ค์์๋ถํฐ ์ธ๊ธฐ ๋๋ฌธ์ city[5]์ city[7] ์ฌ์ด์ ๋ฌธ์์ด์ ์ถ์ถํ๋ค.
city.substring(2, -4); // 'in' ์์๋ฅผ 0์ผ๋ก ์ทจ๊ธํ์ฌ city[0]๊ณผ city[2] ์ฌ์ด์ ๋ฌธ์์ด์ ์ถ์ถํ๋ค.
city.slice(2, -4); // 'c' ์์๊ฐ ๋ถ์ ์๋ ๋ค์์๋ถํฐ ์ธ๊ธฐ ๋๋ฌธ์ city[2]์ city[3] ์ฌ์ด์ ๋ฌธ์์ด์ ์ถ์ถํ๋ค.
- ๋ฌธ์์ด ๊ฒฐํฉ
- String.concat() : ๋ฌธ์์ด๋ผ๋ฆฌ ๊ฒฐํฉํ ์ ์๋ค.
var poem1 = '๋ณ์ ๋
ธ๋ํ๋ ๋ง์์ผ๋ก ';
var poem2 = '๋ชจ๋ ์ฃฝ์ด๊ฐ๋ ๊ฒ์ ์ฌ๋ํด์ผ์ง ';
var poem3 = '์ค๋ ๋ฐค์๋ ๋ณ์ด ๋ฐ๋์ ์ค์น์ด๋ค.';
poem1.concat(poem2, poem3);
// '๋ณ์ ๋
ธ๋ํ๋ ๋ง์์ผ๋ก ๋ชจ๋ ์ฃฝ์ด๊ฐ๋ ๊ฒ์ ์ฌ๋ํด์ผ์ง ์ค๋ ๋ฐค์๋ ๋ณ์ด ๋ฐ๋์ ์ค์น์ด๋ค.'
- ๋ฌธ์์ด ๊ณต๋ฐฑ ์ ๊ฑฐ
- String.trim() : ๋ฌธ์์ด ์ฃผ์์ ๊ณต๋ฐฑ์ ์ ๊ฑฐํ๋ค.
let poem = ' ๋ณ์ ๋
ธ๋ํ๋ ๋ง์์ผ๋ก ';
poem.trim(); // '๋ณ์ ๋
ธ๋ํ๋ ๋ง์์ผ๋ก'
- ๋ฌธ์์ด ๋ณํ
- String.toLowerCase() : ๋ฌธ์์ด์ ์ ๋ถ ์๋ฌธ์๋ก ๋ณ๊ฒฝํ๋ค.
- String.toUpperCase() : ๋ฌธ์์ด์ ์ ๋ถ ๋๋ฌธ์๋ก ๋ณ๊ฒฝํ๋ค.
let city = 'Incheon';
city.toLowerCase(); // 'incheon'
city.toUpperCase(); // 'INCHEON'
3. ๋ฐ๋ณต๋ฌธ
๋ฐ๋ณต๋ฌธ์ด๋? ๊ฐ๊ฑฐ๋ ๋น์ทํ ์ฝ๋๋ฅผ ์ฌ๋ฌ๋ฒ ์คํ์์ผ์ผ ํ ๊ฒฝ์ฐ์ ์ฐ๋ ๊ตฌ๋ฌธ์ด๋ค.
โ๏ธ ๋ฐ๋ณต๋ฌธ์ ํํ์
- for ๊ตฌ๋ฌธ
๋ฐ๋ณตํ ์กฐ๊ฑด์ ์ด๊ธฐํ, ์กฐ๊ฑด์, ์ฆ๊ฐ๋ฌธ ์์ผ๋ก ๋ฃ์ด์ค๋ค.
for (์ด๊ธฐํ; ์กฐ๊ฑด์; ์ฆ๊ฐ๋ฌธ) {
// ์คํํ ์ฝ๋
}
let result = 0;
for (let i = 0; i <= 4; i++) { // i๊ฐ 0์ด๊ณ , 4๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค๋ฉด
result = result + i; // result์ i๋ฅผ ๋ํ ๊ฐ์ result์ ๋์
ํ๊ณ i๋ฅผ 1 ์ฆ๊ฐ์ํจ๋ค.
}
console.log(result); // 10
- while ๊ตฌ๋ฌธ
๋ฐ๋ณตํ ์กฐ๊ฑด ์ค ์ด๊ธฐํ, ์ฆ๊ฐ๋ฌธ์ ๋ฐ๋ก ์์ฑํ๊ณ ์กฐ๊ฑด๋ฌธ์ ๊ดํธ ์์ ๋ฃ์ด์ค๋ค.
์ด๊ธฐํ;
while (์กฐ๊ฑด์) {
// ์คํํ ์ฝ๋
์ฆ๊ฐ๋ฌธ;
}
let result = 0;
let i = 0; // i๊ฐ์ 0์ผ๋ก ์ด๊ธฐํํ๋ค.
while (i <= 4) { // i๊ฐ 4๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค๋ฉด
result = result + i; // result์ i๋ฅผ ๋ํ ๊ฐ์ result์ ๋์
ํ๊ณ
i++; // i๋ฅผ 1 ์ฆ๊ฐํ๋ค.
}
console.log(result); // 10
'๐ถ FE 41๊ธฐ > Review' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[S1U8] Linux/Git ๊ธฐ์ด (0) | 2022.09.01 |
---|---|
[U1S6] HTML/CSS ํ์ฉ (0) | 2022.08.29 |
[U1S5] CSS ๊ธฐ์ด (1) | 2022.08.26 |
[U1S4] HTML ๊ธฐ์ด (0) | 2022.08.25 |
[U1S2] JavaScript ๊ธฐ์ด (0) | 2022.08.22 |