YouTube ์ฝ๋ฉ์๋ง ๋ ๊ธฐ์ด ๊ฐ์ข ์์ฝ๋ณธ.
์คํ ๋ค๋ํ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ ์์ผ๋ก ๊ณต๋ถํด๋ณธ ์ ์ ์์ด์,
์์ ์ ์ ํ๋ธ๋ก ๊ฐ์ ๋ค์ผ๋ฉด์ ๋ ธ์ ์ผ๋ก ์ ๋ฆฌํด๋จ์๋๋ฐ
ํ์ํ ์ฌ๋์ด ์์๊น๋ด ๊ณต์ .
์ฐธ๊ณ ๋ก ๋ณธ์ธ์ ์ฝ๋ฉ ๊ด๋ จ ๊ฐ๋ ์ด ์ด๋์ ๋ ์๋ ์ํ๋ผ์ ํ๊ธฐ๊ฐ ๊ผผ๊ผผํ์ง ์์!
๋ณ์
const a= “๋๋ ”;
const b= ‘๋ฐ์ดํ’;
console.log(a+b); → “๋๋ ๋ฐ์ดํ”
const num=30; // number
console.log(a, num); → “๋๋” 30
console.log(a+num); → “๋๋ 30” (+๋ฅผ ํ๋ฉด ๋ฌธ์์ด๋ก ๋ณํ๋จ)
const new_a = `this is new ${a}` ;
1 ์์์๋ โฉโฉ ์๋ฅผ ์์ดํค๋ก ์ฐ๋ฉด ``์. ๋ด๋ถ์ ๋ณ์ ์ฌ์ฉ ๊ฐ๋ฅ.
๋ํ์์
alert() = ๋ฉ์ธ์ง ๋์ฐ๊ธฐ (ํ์ธ๋ฒํผ ์กด์ฌ)
prompt() = ๊ฐ์ ์ ๋ ฅ๋ฐ๊ณ ๋ณ์์ ํ ๋น (์ทจ์, ํ์ธ๋ฒํผ). ์ทจ์ ๋๋ฅผ ์ null ๋ฐํ!
confirm() = ์์ ์ ํ์ธ๋ฐ๋ ์ฉ๋. ์ทจ์, ํ์ธ ๋ฒํผ ์์ → false / true ๋ฐํ
๋ํดํธ ๊ฐ ๋ฃ์ด์ฃผ๊ธฐ
const name = prompt(”์์ฝ์ผ์ ์ ๋ ฅํด์ฃผ์ธ์.”, “2020-10-”); → ์ผํ ๋ค์ ๊ฒ์ด default๋ก ์ ๋ ฅ๋์ด ํ์๋จ
const delete_on = confirm(”์ ๋ง ์ญ์ ํ์๊ฒ ์ต๋๊น?”);
๋จ์ : ์คํฌ๋ฆฝํธ ์ผ์์ ์ง, ์คํ์ผ๋ง ๋ถ๊ฐ(๋์์ธ ์ค๊ตฌ๋๋ฐฉ)
ํ๋ณํ
prompt๋ก ์ซ์ ์ ๋ ฅ์ ๋ฐ๊ณ ์ฐ์ฐ ์ํ ์ ์ ๋ ฅ๋ฐ์ ๊ฐ์ ํญ์ ๋ฌธ์ํ์ด๋ค!
๋ฐ๋ผ์ ์ฐ์ฐ ์ ์ด์ํ๊ฒ ๋์ด (๋ฌธ์์ด์ด ๋ํด์ง ํ ์๋ํ๋ณํ์ผ๋ก ์ฐ์ฐ๋จ)
→ ๋ช ์์ ํ๋ณํ ํ์
String() : ๋ฌธ์์ด๋ก ๋ณํ
Number() : ์ซ์๋ก ๋ณํ, ์ซ์๊ฐ ์๋ ๊ฒฝ์ฐ NaN ๋ฐํ (Not a Number), true/false → 1/0
Boolean()
์์ false ์์๋ฅผ ์ ์ธํ๊ณ ๋ ๋ชจ๋ true.
์ฐ์ฐ
-
-
- / % **(๊ฑฐ๋ญ์ ๊ณฑ)
-
+= -= *= ๋ฑ ์ฌ์ฉ๊ฐ๋ฅ.
์ฆ๊ฐ ์ฐ์ฐ์, ๊ฐ์ ์ฐ์ฐ์ : ++, —
let new= num++ : ์ฆ๊ฐ์ํค๊ธฐ ์ ์ ๊ฐ์ ๋ณ์์ ๋ฃ์
let new= ++num : ์ฆ๊ฐ์ํจ ๊ฐ
๋น๊ต ์ฐ์ฐ์
==(๋๋ฑ์ฐ์ฐ์), !=, >= ๋ฑ
=== : ํ์ ๊น์ง ๋น๊ตํด์ t/f ๋ฐํ (์ผ์น ์ฐ์ฐ์)
์กฐ๊ฑด๋ฌธ if
if(age > 19) {
console.log(ํ์ํฉ๋๋ค);
}
else if(age === 19){ console.log(์๋ฅ ํ์ดํ ); }
else{ console.log(19์ธ ๋ฏธ๋ง ์ ์ฅ๋ถ๊ฐ); }
๋ ผ๋ฆฌ์ฐ์ฐ์ ||, &&, !
or์ ์ฒซ ๋ฒ์งธ true๋ฅผ ๋ฐ๊ฒฌํ๋ ์ฆ์ ํ๊ฐ๋ฅผ ๋ฉ์ถค. → ๋ฒ์๊ฐ ์์ ์กฐ๊ฑด๋ถํฐ ๋จผ์ ๊ฑธ์ด๋๋๊ฒ ์ข์
and๋ ์ฒซ ๋ฒ์งธ false๋ฅผ ๋ฐ๊ฒฌํ๋ ์ฆ์ ํ๊ฐ๋ฅผ ๋ฉ์ถค.
์ฐ์ ์์ : && > ||, &&์์ false๊ฐ ๋ฐํ๋์ด๋ ||์์ true๊ฐ ๋์ค๋ฉด true.
์ฐ์ ์์๋ฅผ ๋ณ๊ฒฝํ๊ณ ์ถ๋ค๋ฉด ( ) ๊ดํธ ์ฌ์ฉ!
๋ฐ๋ณต๋ฌธ LOOP
for(let i=0; i<10; i++) { ~; }
→ ์ด๊ธฐ๊ฐ, ์กฐ๊ฑด(false๊ฐ ๋๋ฉด ๋ฉ์ถค), ์ฝ๋ 1ํ ์คํ ํ์ ์์
let i=0;
while (i<10) { ~; i++; } → i๋ฅผ ๋ด๋ถ์์ ๊ฐ ์ฆ๊ฐ์์ผ์ค์ผ loop๊ฐ ๋ฉ์ถ๊ฒ ๋จ.
do{ ~; i++; } while(i<10) → ์กฐ๊ฑด๋ฌธ์ด ๋ค์ ์๊ธฐ ๋๋ฌธ์ ์ ์ด๋ ํ๋ฒ์ ์คํ๋จ.
break, continue
Switch
switch( fruit ){
case ‘์ฌ๊ณผ’ :
console.log(’์ฌ๊ณผ์
๋๋ค’);
break; // ์ค์์น๋ฌธ์์๋ break ํ์
case ‘ํฌ๋’ :
case ‘๊ฑฐ๋ด’ :
console.log(’ํฌ๋์
๋๋ค’);
break;
default :
console.log(’๋ค๋ฅธ ๊ณผ์ผ์
๋๋ค’);
}
ํจ์
๊ธฐ๋ณธ๊ฐ (ํจ์ ์ ์ธ๋ฌธ)
function sayHello(name) {
let newName = name || ‘friend’; → ๋งค๊ฐ๋ณ์ ์ ๋ ฅ ์์ ์ default๊ฐ์ผ๋ก ๋ณ์ํ ๋น
let msg = Hello, ${newName};
console.log(msg)
}
or function sayHello(name = ‘friend) ๋ก ์ ์ธ
→ ๋งค๊ฐ๋ณ์ ์๋ฆฌ์ ๋ฐ๋ก default ๋ฃ์ด์ฃผ๊ธฐ
sayHello(); // → Hello, friend
sayHello(’Jane’) // → Hello, Jane
function add(num1, num2) {
return num1+num2;
}
→ return; or ๋ฆฌํด๊ฐ์ด ์์ ์ undefined๋ฅผ ๋ฐํ.
- ํจ์ ์ ์ธ๋ฌธ : ์ด๋์๋ ํธ์ถ ๊ฐ๋ฅ. hoisting
- ํจ์ ํํ์ : ์ฝ๋์ ๋๋ฌํ๋ฉด ์์ฑ. ๋ฐ๋ผ์ ์ ์ธ ์ดํ์๋ง ์ฌ์ฉ ๊ฐ๋ฅ
ํ์ดํ ํจ์(arrow func)
์ฝ๋ ๋ด์ฉ์ด ํ ์ค์ด๋ฉด ํจ์ ๋ด์ฉ์ ์๊ดํธ ์ฌ์ฉ ๊ฐ๋ฅ!
let add = (num1, num2) ⇒ (num1 + num2; ); // return์ด ํ ์ค์ด๋ผ๋ฉด return ์๋ต ๊ฐ๋ฅ
let sayHello = **name** ⇒ Hello, ${name}; // ์ธ์๊ฐ ํ ๊ฐ๋ผ๋ฉด ๊ดํธ ์๋ต ๊ฐ๋ฅ
let showError = () ⇒ { alert(’error’); }; // ์ธ์๊ฐ ์์ ๊ฒฝ์ฐ๋ ๊ดํธ ์๋ต ๋ถ๊ฐ
์ฝ๋ ๋ด์ฉ์ด ์ฌ๋ฌ์ค์ด๋ผ๋ฉด { } ์ฌ์ฉํด์ผํจ
let add = {num1, num2) ⇒ {
const re = num1 + num2;
return re;
};
Object (๊ฐ์ฒด)
ํ๋กํผํฐ = ํค : ๊ฐ
์ ๊ทผ
superman.name or superman[’age’]
์ถ๊ฐ
superman.gender = ‘male’;
superman[’hairColor’] = ‘black’; // ์๋ ๋ด์ฉ์ ์ฐ๋ฉด ์ถ๊ฐ๋จ
์ญ์
delete superman.hairColor;
์ด๋ฆ๊ณผ ๋์ด๋ฅผ ๋ฐ์์ ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ ํจ์
function makeObject(name, age){
return{
name : name,
age : age,
hobby : ‘football’
};
}
const Mike = makeObject(”Mike”, 30);
console.log(Mike);
๊ฐ์ฒด in / ๊ฐ์ฒด๋ฅผ ํจ์์ ๋ฃ์ ๋
function isAdult(user) {
if (!(’age’ in user) || user.age < 20) { return false; } // user์ age๊ฐ ์๊ฑฐ๋ 20์ด ๋ฏธ๋ง์ผ ๋
return true;
}
Method (๋ฉ์๋)
- ํ์ดํ ํจ์๋ ์ผ๋ฐ ํจ์์๋ ๋ฌ๋ฆฌ ์์ ๋ง์ this๋ฅผ ๊ฐ์ง์ง ์์!!
- ๊ทธ๋์ ํ์ดํ ํจ์ ๋ด๋ถ์์ this ์ฌ์ฉ ์, ๊ทธ this๋ ์ธ๋ถ์์(์์ scope์์) ๊ฐ์ ๊ฐ์ ธ์ด.
๊ทธ๋ฌ๋ฏ๋ก ํ์ดํ ํจ์๋ ์ฝ๋ฐฑ ํจ์์ this์ ์ธ๋ถ ํจ์์ this๊ฐ ๋ถ์ผ์น ๋ฌธ์ ๋ฅผ ํด๊ฒฐ ๊ฐ๋ฅ!
์ฝ๋ฐฑ ํจ์์ this ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค
ํ์ง๋ง ์ด๋ณด์๋ค์ ํท๊ฐ๋ฆฌ๋๊น..๊ฐ์ฒด๋ด๋ถ ๋ฉ์๋ ์ ์ ์ ํ์ดํ ํจ์๋ ์ ์ฐ๋๊ฒ ์ข์ต๋๋น
๋ฐฐ์ด (Array) : ์์๊ฐ ์๋ ๋ฆฌ์คํธ
index๋ 0๋ถํฐ ์์
js์ ๋ฐฐ์ด์ ๋ฌธ์, ์ซ์, ๊ฐ์ฒด, ํจ์ ๋ฑ์ ํฌํจ ๊ฐ๋ฅ
length : ๋ฐฐ์ด ๊ธธ์ด
push() : ๋ฐฐ์ด ๋์ ์ถ๊ฐ
pop() : ๋ฐฐ์ด ๋ ์์ ์ ๊ฑฐ
shift(), unshift() : ๋ฐฐ์ด ์์ ์ ๊ฑฐ, ์ถ๊ฐ. ํ๋ฒ์๋ ๊ฐ๋ฅ
for๋ฌธ ์ฌ์ฉ ์ฉ์ด
for … of ์ฌ์ฉ ๊ฐ๋ฅ! for(let i of days) { }
'๐ฉโ๐ป ๊ฐ๋ฐ ๊ณต๋ถ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[React] Movie App ๋ง๋ค๊ธฐ (๊ฐ์ธ ํ๋ก์ ํธ) - 1 (0) | 2023.02.20 |
---|---|
[React] Attempted import error: does not contain a default export (0) | 2023.02.20 |
[Git] local ๋ด์ฉ ๋ ์๊ฐ๋ ๊ด์ฐฎ์ ๋ ๊ฐ์ pull ํ๊ธฐ (1) | 2022.11.27 |
[๊ฐ์ฒด์งํฅ์ค๊ณ 5์์น] About SOLID principle (0) | 2022.10.28 |
[C++/Game] Google Dino ๊ฒ์ ๋ง๋ค๊ธฐ (0) | 2022.07.25 |