Hello creators ๐
[Javascript] 01. ๊ธฐ๋ณธ ๋ฌธ๋ฒ ์์ฝ & ๊ตฌ๊ตฌ๋จ ๋ง๋ค๊ธฐ, ์์์ ์ถ๋ ฅ, 3์ ๋ฐฐ์ ์ฝ๋ ์ง๊ธฐ ๋ณธ๋ฌธ
[WEB & AI] (feat. ์ทจ์ค)/๋ธ๋ก์ฒด์ธ ๊ฐ๋ฐ์ ๊ณผ์ _KGA
[Javascript] 01. ๊ธฐ๋ณธ ๋ฌธ๋ฒ ์์ฝ & ๊ตฌ๊ตฌ๋จ ๋ง๋ค๊ธฐ, ์์์ ์ถ๋ ฅ, 3์ ๋ฐฐ์ ์ฝ๋ ์ง๊ธฐ
๋ถ์๋งค๋_HA 2023. 3. 11. 15:58728x90
๋ฐ์ํ
1๏ธโฃ ์ด๋ฒ ํ์ฐจ ํ์ต ๋ชฉํ (goal)
1. ๋ฐฐ์ฐ๊ณ ์ ํ๋ ๊ฒ
- javascript ๋ฌธ๋ฒ ๊ธฐ์ด ๋ด์ฉ
- ๊ตฌ๊ตฌ๋จ, ์์์ ๋ฝ๊ธฐ, 3์ ๋ฐฐ์ ์ฝ๋ฉํด๋ณด๊ธฐ
2๏ธโฃ ๊ธฐ์ด ๋ฌธ๋ฒ ๋ด์ฉ ์์ฝ
1. ์น ๋ง๋ค๊ธฐ ํ ๋, js ์ด๋์ ์จ? (์์ฑ ์์น ๋ฐ ์ฐ๊ฒฐ)
1) ์์ฑ ์์น
<body> ํ๊ทธ ๋ฐ์ ์จ
2) ์ฐ๊ฒฐ๋ฐฉ๋ฒ
1. . <script> </script> ํ๊ทธ ์ฌ์ด์ ์ด๋ค.
2. . <body> ํ๊ทธ์ ์ฐ๊ฒฐ
<!-- js ์คํฌ๋ฆฝํธ ์ฐ๊ฒฐ โญโญโญ
- ์ด๋ ๊ฒ ํด์ผ, html ์ ์ฝ๊ณ , ๊ทธ๊ฑธ ์ด๋ป๊ฒ ์์ง์ด๊ฒ ํ ์ง๋ฅผ ์ดํดํจ.
- src ์ ๊ฐ์ ธ์ฌ ์คํฌ๋ฆฝํธํ์ผ์ ๊ฒฝ๋ก -->
%% ์ฐ๊ฒฐ ์ฝ๋ ๐%%
<script src="./02.index.js"></script>
2. ๋ณ์
์ฌ์ฉ์ ์ฃผ์ํ ๊ฒ
- ์ฌ์ฉ์ ์ฃผ์ํ ๊ฒ
1. '์ ์ธ์' ๊ฐ ์์ผ๋ฉด ์ ์ญ๋ณ์.
2. '์ ์ธ์' ๋ฅผ ๋ฐ๋์ ํ์ฉ
3. let vs var ๋ '์ฌ์ ์ธ ๊ฐ๋ฅ ์ฌ๋ถ'
4. let ๋ฅผ ์ฃผ๋ก ์ธ ๊ฒ โญโญโญโญโญ
๋ณ์๋?
[๋ณ์๋?]
- ๋ฐ์ดํฐ๋ฅผ ๊ฐ๋ฅดํค๋ ์ฃผ์
- ์ด ์ฃผ์๋ฅผ ๋ฐ๋ผ๊ฐ๋ฉด - ๋ฐ์ดํฐ๊ฐ ์์
- ๋ณ์๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ
- ์ฃผ์๋ฅผ ์๋ฉด -> ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์.
- ๋ณ์๋ฅผ ์ ์ธ -> ๋ณ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ -> ์ด๊ฑธ ๋ฉ๋ชจ๋ฆฌ์ ๋ด์๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๊ณ ์ ๋ฒํธ๊ฐ ์์. ์ ์ฅํด ๋ผ๊ณ ํ๋ฉด? โโโ
- cs 50 ๋ค์ ๋ค์ด๋ณด์ โญโญโญโญโญโญโญโญโญ
๋ฉ๋ชจ๋ฆฌ, ram ์ด๋?
[๋ฉ๋ชจ๋ฆฌ๋?]
- 'ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ ๋์' ํ์ํ ๋ฐ์ดํฐ์ ๋ช
๋ น์ด๋ฅผ ์ ์ฅ
- '์ ์์ด ๋ค์ด์ ์๋ ๋์' โโโ
[ram]
- cpu ๊ฐ ๋ฐ์ดํฐ์ ๋น ๋ฅด๊ฒ ์ ๊ทผํ๊ณ , ์ฌ์ฉํ ์ ์๋ ๊ณต๊ฐ.
- cpu ๊ฐ ์ฒ๋ฆฌํ ๋ฐ์ดํฐ or ๋ช
๋ น์ด๋ฅผ, '์ ์', ์ ์ฅํ๊ณ , ์ฌ์ฉํ๋ ์ฉ๋
- ์ ์์ด ๊บผ์ง๋ฉด, ์ ์ฅ๋ ๋ฐ์ดํฐ๊ฐ ์ฌ๋ผ์ง๋ค.
๋ณ์ ์ ์ธ
[๋ณ์ ์ ์ธ]
- ํ๊ธ ์์
`์ ์ธ์ ๋ณ์ ์ด๋ฆ = ๋ฐ์ดํฐ;`
- ์์ ์ฝ๋
var var1 = 1 ;
1 ์ด๋ผ๋ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ
1 ์ด๋ผ๋ ๊ฐ์ var1 ์ด๋ฆ์ผ๋ก์ ์ฅ
1 ์ด๋ผ๋ ๊ฐ์ ์ ๊ทผํ ์ ์๊ฒ, var1 ์ด๋ผ๋ ๋ณ์๋ช
์ ์ง์
let let1 = 1;
var ์ let ์ ์ฐจ์ด
[์์ฝ]
- '์ฌ์ฌ์ฉ ๊ฐ๋ฅ ์ฌ๋ถ' ์ ๋ฐ๋ผ์ var, let ์ด ๋๋จ.
- let ์ '๊ทธ๋ ๊ฒ ํด๋ผ~' ๋ผ๋ ๊ฑฐ๋๊น -> ์ฌ์ฌ์ฉ ๋ถ๊ฐ
- var ๋ 'variation' ์ด๋๊น -> ์ฌ์ฌ์ฉ ๊ฐ๋ฅ
- ์ธ ๋๋ let ์ ์์ฃผ๋ก ์จ์ผ -> ๋ฌธ์ ๊ฐ ์ ์๊น
[let ์ ์จ์ผ ํ๋ ์ด์ (var์ ๋ฌธ์ ์ )]
- var ๋ก ์์
ํ์ ๋, ๋ณ์๋ช
์ด ๊ฒน์น๋ ๊ฒฝ์ฐ
ex) ์ฌ๋ก
- 1๋ฒ ํ์. var a; ๋ณ์๋ฅผ ์ ์ธ
- 2๋ฒ ํ์๋ var a; ๋ฅผ ์ ์ธ -> 1๋ฒ ํ์์ด a ๋ณ์์ ๋ฃ์๊ฒ ์ฌ๋ผ์ง.
๊ฐ์ ๋ฃ์ง ์๊ณ ๋ณ์์ ์ด๋ฆ์ ๋จผ์ ์ ์ธ > ๋์ค์ ๊ฐ์ ๋ฃ๊ธฐ! โญโญโญ
- ์ค์ํ ์
- 1. ๊ฐ ๋ณ๊ฒฝํ ๋('ํ ๋น'ํ ๋) , '์ ์ธ์' ๋ฅผ ์ ์จ๋ ๋จ.
- 2. '์ ์ธ์' ๋ ๊ทธ๋ฅ, '์ ์ธ' ํ ๋๋ง.
- ์ ์ธ
let let2;
- ๊ฐ ๋ฃ๊ธฐ
let2 = 1;
'์ ์ธ' ๋ฐ 'ํ ๋น' ์ฐ์ต
- ๋ฐ์ดํฐ ํ์ ํ์ธํ๋ ค๊ณ ํ ๋ (๐คWIL)
// typeof ํจ์? ๋ฅผ ์ฌ์ฉ
console.log(typeof type1)
// 1. '์ ์ธ'
// let ์ ์ธ๋ฌธ์ ์ฌ์ฉํด์, type1 ๋ณ์ ์ ์ธ(๊ฐ ์์ด)
// '๋ฉ๋ชจ๋ฆฌ' ์ '๋ฐ์ดํฐ ํ์
์ ๋ชจ๋ฅด์ง๋ง', ์ ์ฅํ ์ ์๋ '๊ณต๊ฐ' ์ ํ ๋น๋ฐ์
let type1 ;
// 2. console.log() ๋ก type1 ๋ณ์ ๊ฐ ํ์ธ
console.log(type1)
// 3. let ์ ์ธ๋ฌธ ์ฌ์ฉํด์, type1 ๋ณ์์ '5' ๋ฅผ ํ ๋น โญโญโญโญโญ
// ์! let ์ ๋น ๋ณ์๋ก ์ ์ธํ๋ฉด, ๊ฐ์ ํ ๋น ํ ๋๋ let ์ ๋นผ์ค์ผ ํ๋ค!
// '์ซ์ํ' ์ด๊ธฐ ๋๋ฌธ์ -> ์๋์ ์ผ๋ก 8byte ๋ฅผ ํ๋ณดํ์ ๊ฒ.
type1 = 5;
// 4. console.log ๋ก ๊ฐ ํ์ธ
console.log(type1)
// 5. typeof ์ console.log ๋ก datatepe ํ์ธ โญโญโญ
console.log(typeof type1)
// 6. "์ ๋์ง" ์ type1 ๋ณ์์ ๋์
type1 = "์ ๋์ง"
// 7. console.log() ๋ก ํ์ธ
console.log(type1)
console.log(typeof type1)
์๋ฐ์คํฌ๋ฆฝํธ์์ ๋ณ์๋ฅผ ์ ์ธํ ๋, let var ์ ์ธ๋ฌธ
์ ๊ผญ ์ฌ์ฉ
- ํค์๋ ์์ผ๋ฉด -> '์ ์ญ๋ณ์' ๋ก ์ฐ์ -> ๋ฌธ์ ๋ฐ์. โญโญโญโญโญ
- ์ด ๊ฒฝ์ฐ, '์์์น ๋ชป ํ ๋ฌธ์ ' ๊ฐ ๋ฐ์ํจ โญโญโญโญโญ
html ์์์ ๋ณ์๋ฅผ ๋ก๊ทธ๋ก ํ์ธํด๋ณด๊ธฐ
- ์์ ์ฝ๋ ๐
console.log()
console.log("๋ธ๋ผ์ฐ์ ๊ฐ๋ฐ์ ๋ชจ๋์์ ์ฝ์ ์ฐฝ์ ๋ณด์ฌ์ค ๊ฐ์ ๋ฃ๊ธฐ")
- ๐ ์ด๋ ๊ฒ ํ๋ฉด > ๊ฐ๋ฐ์ ๋๊ตฌ > console ์์ let2 ์ ๊ฐ ํ์ธ ๊ฐ๋ฅ
let let2 = 2 ;
console.log(let2);
- '์ซ์๋ ํ๋, ๊ธ์๋ ๊ฒ์์' ์ผ๋ก ๋ณด์ โญโญโญ
let let4 = "๋๋ ๋ฌธ์ ์ ์ฅ";
console.log(let4)
๋ณ์ ์ด๋ฆ ์์ฑ๋ฒ
โ ์ฃผ์ํ ์ฌํญ / WIL
- CSS ๋ ์ผ๋ฐฅ์ผ๋ก ํ์?
EX) let item-box
๐ฅ ๊ทธ๋ฐ๋ฐ, 'vs code' ์์ ํด๋์ค๋ช
๋๋ธํด๋ฆญํ๋ฉด, ํ๊บผ๋ฒ์ ์ ํ์ด ์ ๋ผ
- js ๋ ์นด๋ฉ
- ์... ์์ง ์ด์ํด...
ex) let itemBox;
๋ณ์ ์ด๋ฆ ์ ํ๋ ๋ฒ
- ์์น
- ํ์ฌ๊ฐ์, '์ฌ์๊ฐ ์ฐ๋ ํ๊ธฐ๋ฒ' ์ผ๋ก ํ๋ฉด ๋จ.
- ์ผ๋ฐฅ ํ๊ธฐ๋ฒ (Kebab Case)
- css class ์ด๋ฆ์ ๋ณดํต ์ด๋ ๊ฒ โญโญโญโญโญ
- ex) let item-box
- ์นด๋ฉ ํ๊ธฐ๋ฒ (Camel) (๋ํํ๊ธฐ๋ฒ)
- ๋ณ์๋ช
์ ์ ์ธํ ๋, ์์ฃผ, ์ฌ์ฉํ๋ ํ๊ธฐ๋ฒ
- ๊ตฌ๋ถ๋๋ ๊ณณ์ '๋๋ฌธ์'
- ex) let itemBox;
- ์ค๋ค์ดํฌ ํ๊ธฐ๋ฒ (snake) (๋ฑ ํ๊ธฐ๋ฒ)
- ๊ตฌ๋ถํ๋ ๊ณณ์ `__` ์ธ๋๋ฐ
- ex) let item_box;
- ํ๊ฐ๋ฆฌ์ ํ๊ธฐ๋ฒ (์ฌ์ฉ๋๊ฐ ๋จ์ด์ง)
- datatype ์ ๋ณ์๋ช
์ ์ฌ์ฉ
- ex) let strItemBox;
- ํ์ค์นผ ํ๊ธฐ๋ฒ
- react ์ ๋ค์ด๊ฐ๊ฒ ๋๋ฉด, ๋ณด๊ฒ ๋ ๊ฒ โญโญโญโญโญ
- ์ปดํฌ๋ํธ ๋ผ๋๊ฒ ์์ โญโญโญโญโญ
- ์ฒซ ๊ธ์๋ ๋๋ฌธ์
- ex) let ItemBox;
3. ๋ฐ์ดํฐ ํ์ (data type)
โ WIL / ์ฃผ์ํ ์ฌํญ / ์์ฝ
[๋ฐ์ดํฐ ๋ฃ๊ธฐ]
- ๋ฐฐ์ด(๋ฆฌ์คํธ)์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ๊ธฐ
let arr = [1, 2, 3, "1", "2", "3"]
arr.push("4"); โญโญโญโญโญโญโญ
- ๊ฐ์ฒด(๋์
๋๋ฆฌ, dict) ์ ๋ฐ์ดํฐ ๋ฃ๊ธฐ
let obj = {a:1, b:2, c:3};
obj.a = 10; โญโญโญโญโญ
data type ๋ณ ํฌ๊ธฐ
data type ์ ์์์ผ ํ๋ ์ด์
- ๋ธ๋ก์ฒด์ธ ๋ค์ด๊ฐ์ ๋, byte padding ๊ธฐ๋ฒ์ผ๋ก byte data ๋ฅผ ์ ์ก & ์ ์ฅ ํ ๊ฒ์. ์ด๋ ์ฌ์ฉ ์์ .
- byte padding ๊ธฐ๋ฒ์ด ์๋ ์ด์ ๋ data ๋ฅผ ์ ์กํ ๋, '๋ณด์์ฑ ๋ฐ ์๋' ๋ฅผ ํฅ์ ์ํฌ ์ ์๊ธฐ ๋๋ฌธ.
- ์ํธํ๋ฅผ ํ ๋, 'sha-256' ํจ์๋ฅผ ์ฌ์ฉํ ๊ฒ์.
๋ฐ์ดํฐ ํ์ ๋ณ byte ํฌ๊ธฐ
- ์ซ์ ํ์
: 8byte
- ๋ฌธ์์ด : ๊ธธ์ด์ ๋ฐ๋ผ ๋ค๋ฆ. ๋๋ต 2byte
- boolean : 1byte
- null : 0byte
- undefined : 0byte
4. ์ฐ์ฐ
1) ์ฌ์น์ฐ์ฐ
๐ค ์ฃผ์ํ ๊ฒ / WIL
- `%` ๋ '๋๋จธ์ง' ๋ฅผ ๊ตฌํ๋ ๊ฒ ์
- `+` ๋ ๋ฌธ์์ด์ ๋ํ ์๋ ์์. โญโญโญ
ex) ๊ตฌ๊ตฌ๋จ ๋ง๋ค๊ธฐ ํ ๋, ๋์ค๋ ๊ฒฐ๊ณผ๊ฐ์ + ๋ฅผ ํ์ฉํด์ ๋ง๋ค์ด์ค ์ ์์.
์ฌ์น ์ฐ์ฐ ์์๋ณด๊ธฐ
1. `+`
- ๋ฌธ์์ด์ ๋ํ ์๋ ์์. โญโญโญ
let text1 = "๋๋ ";
let text2 = "๋ฐฐ๊ณ ํ๋ค.๐ฅ" ;
console.log(text1 + text2);
2. '-', '*', '/', '%'
- ์์
console.log(a - b);
console.log(a * b);
console.log(a / b);
// ๋จ์ด์ง๊ณ ๋จ์ '๋๋จธ์ง ๊ฐ'
console.log(a % b);
2) ++, --, **
๐ค ์ฃผ์ํ ๊ฒ / WIL
1. -- ๋ฅผ ํ๋ฉด -> 1์ฉ ๋น ์ง
2. ** ์ด๊ฑด -> ์ ๊ณฑ์ด ๋จ
++
- `++` ์ ์ฌ์ฉํ๋ฉด -> '1' ์ฉ ๊ฐ์ด ์ฆ๊ฐ
- input ๊ฐ์ด 1 ์ด๊ณ > ++ ํ๋ฉด > output ์ 2๊ฐ ๋จ
- for ๋ฌธ์ ์๊ฐํ๋ฉด ๋๋ค.
for (i = 0; i < 10; i++) { }
-- , **
-- ํ๋ฉด -> ์ด์ ๊ฐ์์ '1์ด ๋น ์ง'
// ex) ์ด์ ๊ฐ(input) : 2 > -- ์ฐ์ฐ > ๊ฒฐ๊ณผ๊ฐ : 1
a--;
console.log(a)
** ํ๋ฉด > '์ ๊ณฑ' ์ด ๋๋ค.
// a ์ 3์ ๊ณฑ์ ํด -> ๊ทธ ๊ฐ์ a ์ ๋์
!!!
a = a ** 3;
์ฐ์ต
test1 ++
console.log(test1)
test1 --
console.log(test1)
console.log(test1 ** 2)
์์ฌ์
- โญ๊ฐ์ด ๋ณํํ๋ ค๋ฉดโญ, '๋์
' ์ ํด์ค์ผ ํจ
- ๋ค๋ง, ++,-- ๋, ๋์
ํ์ง ์์๋, ๊ฐ์ด ๋ณํํจ. โญโญโญโญโญ
- ++, -- ๋ ๊ทธ ์์ฒด๋ก 1์ด ๋ํด์ง
- a+1; ์ด๋ ๊ฒ ์ด๋ค๊ณ ๋ณ์์ ๊ฐ์ด ๋ณํ์ง ์๋๋ค.
- a = a+1; ์ด๋ ๊ฒ ๋ค๋ฅธ ์ฐ์ฐ์๋ค์ ๊ฐ์ ๋ฃ์ด์ค์ผ ํจ.
3) ๋น๊ต ์ฐ์ฐ์
๐ค ์ฃผ์ํ ๊ฒ / WIL
1. === ์ด๊ฑด data type ๊น์ง ๋น๊ตํด์ค! โญโญ
2. !== ์ด๊ฑด, data type ๊น์ง ๋น๊ตํด์ค! โญโญ
3. '>=' ๋ฅผ ํด์ : 'ํด ๊ฒ ๊ฐ์๋ฐ, ํน์ ๊ฐ์?' ์ ์์๋ก ์์ฑ
๋น๊ต ์ฐ์ฐ์
// ! ๋ ๋ฐ์ !
// ๋ฐ์ ์ํค๋ ๊ฒ.
let test2 = true;
let test3 = false;
// !๋ฅผ ๋ถ์ด๋ฉด, bool ๊ฐ์ ๋ฐ์ !
console.log(!test2);
// ==
// ์ด ๋์ด ๊ฐ์์ง๋ฅผ ๋ณธ๋ค.
// ๊ฐ์ด ๊ฐ์ผ๋ฉด -> true
// ๊ฐ์ด ๋ค๋ฅด๋ฉด -> false ๋ฅผ ๋ฐํ
let test4 = 2;
let test5 = "2";
console.log(test4 == test5);
// ์ซ์2 ๋ ๋ฌธ์2 ๊ฐ ๊ฐ๋ค! ์ค์? โโโโโโ
// ===
// ๋น๊ต๋ฅผ ์ข ๋ ํ์คํ๊ฒ ํ๋ ์ฐ์ฐ์ โญโญโญโญโญ
// == ๋ '๊ฐ' ๋ง ๋น๊ตํจ. โญโญโญ
// === ๋ 'type' ๊น์ง ๋น๊ตํจ. โญโญโญ
console.log(test4 === test5);
// [ํด์]
// == ์ ์ฐ๋ฉด, ์ซ์2 ๋ ๋ฌธ์2 ๋ฅผ ๊ตฌ๋ถ ๋ชป ํจ.
// === ์ ์ฐ๋ฉด, ์ซ์2 ๋ ๋ฌธ์ 2๋ฅผ ๊ตฌ๋ถ ํจ. โญโญโญโญโญ
// !=
// ๊ฐ์์ง ๋น๊ตํจ
// ์๋, ๊ฐ์ผ๋ฉด -> true ๋ฅผ ๋ณด์ฌ์ค์ผ ํจ.
// ๊ทผ๋ฐ ์ด๊ฑด, != ๋๊น -> ๊ฐ์ผ๋ฉด, false ๋ฅผ ๋ณด์ฌ์ค.
// ๊ฐ์ด ๊ฐ์ผ๋ฉด -> false
// ๊ฐ์ด ๋ค๋ฅด๋ฉด -> ture
console.log(test4 != test5);
// !==
// === ์ ๋ฐ๋
// data type ๊น์ง ํ์คํ ๋น๊ต ๊ฐ๋ฅ โญโญโญโญโญ
console.log(test4 !== test5);
// > , <
// ์ด๊ณผ, ๋ฏธ๋ง! ์ ๋น๊ต
// ๊ฐ์ด ํฐ์ง, ์์์ง, ํ์ธํด์ค.
// ๊ฐ์ด ํฌ๋ฉด -> true
// ๊ฐ์ด ์์ผ๋ฉด -> false
let test6 = 5;
let test7 = 5;
console.log(test6 > test7);
// [ํด์] 6 ์ด 7 ๋ณด๋ค ํฌ๋? -> ์ ์ปค -> ๊ฒฐ๊ณผ๊ฐ์ fasle!
// ๋น๊ต์ฐ์ฐ์๋ true, false ๋ก ์๋ ค์ค๋ค. โญโญโญโญโญ
console.log(test6 < test7);
// [ํด์] ์ด๊ฑด true ๋์์ผ ํจ.
// [๋น๊ต ์ฐ์ฐ์] >=, <=,
// = ๋ ๊ผญ ๋ค์โญโญ
// ์ด์, ์ดํ, ๋ฅผ ๋น๊ต
// 'ํฌ๊ฑฐ๋ ํน์ ๊ฐ๋?', '์๊ฑฐ๋, ํน์ ๊ฐ๋?'
console.log(test6 <= test7);
// [ํด์] test7 ์ด test 6 ๋ณด๋ค, ํฌ๊ฑฐ๋, ํน์ ๊ฐ๋?
console.log(test6 >= test7);
// [ํด์] test6 ์ด test7 ๋ณด๋ค, ํฌ๊ฑฐ๋, ํน์ ๊ฐ๋?
5. if ๋น๊ต๋ฌธ
๐ค ์๊ฒ ๋ ๊ฒ / WIL / ์ฃผ์ํ ๊ฒ
1. if (true ์ผ๋๋ง) {์ด ๋ถ๋ถ์ ์คํ์ํฌ๊ฑฐ์ผ}
2. true ๊ฐ ๋์ค๋ ค๋ฉด, ๊ดํธ ๋ถ๋ถ์, '๋น๊ต ์ฐ์ฐ' ์ด ์ ์ ๋์ด์ผ ํด.
- ๋น๊ต์ฐ์ฐ : !, ==, ===, !=, !==, >, <, <=, >=,
3. ๋น๊ต์ฐ์ฐ์ด 2๋ฒ(ํ๋จ์ด 2๋ฒ, ์กฐ๊ฑด์ด 2๋ฒ) ๋ค์ด๊ฐ๋ฉด -> if, else if, else ๋ฌธ์ ์ด๋ค. (๐๐๐/ โญโญโญ / ์ด๊ฑด ์์ง ์ ์จ๋ด)
๋น๊ต๋ฌธ ๊ธฐ๋ณธ ๋ด์ฉ
- ํ๊ธ ๊ตฌ์กฐ
- ๊ฒฐ๊ณผ๊ฐ์ด false ๋ฉด ์คํํ์ง ์์
if (๋น๊ต์ฐ์ฐ์์ ๊ฒฐ๊ณผ๊ฐ, true, false) { true ์ผ ๊ฒฝ์ฐ, ์คํํ๊ฒ ๋๋ ๊ตฌ๋ฌธ}
- 'ํน์ ์กฐ๊ฑด์ด false ์ผ ๋, ์คํ์ํค๋ ค๋ฉด?'
- if, else ๋ฌธ ํ์ฉ!
if (age < age2) {
console.log("true๋ฉด ์ด๊ฒ ๋์");
} else {
console.log("false๋ฉด ์ด๊ฒ ๋์");
}
- '์ฐธ, ๊ฑฐ์ง' ์ด์ธ์ '๋ค๋ฅธ ๊ฒฐ๊ณผ' ๊ฐ ํ์ํ๋ฉด?
- if, else if, else ํ์ฉ
if (age < age2) {
// if ๋ฌธ์ด ๋ง์ผ๋ฉด ์ฌ๊ธฐ ์คํ
// [ํด์] age vs age2 -> false ๋๊น, -> ์ฌ๊ธฐ๋ pass
console.log("์ฒซ๋ฒ์งธ ์กฐ๊ฑด์ด true ์ผ ๋ ์คํ");
}
else if (age == age2) {
// if ๊ฐ ํ๋ฆฌ๋ฉด, ์ฌ๊ธฐ๋ก ์์, ์กฐ๊ฑด์ด ๋ง๋์ง ํ์ธ -> ๋ง์ผ๋ฉด ์คํ
// [ํด์] 5 == 5 ๋๊น, ๊ฐ์ -> ๊ทธ๋ฌ๋๊น, ์ด ๋ถ๋ถ์ ์คํ
console.log("else if ๋ฌธ์์, age==age2 ๋น๊ตํ๊ณ , true ์ฌ์, else if ๋ฌธ์ด ์คํ");
}
else {
// else if ๋ ์ ๋ง์ผ๋ฉด -> else ๋ก ์์ ์คํ
// else ์๋ '์กฐ๊ฑด' ์ด ์๋ค? โญโญโญโญโญโญ
console.log("๋๋ ๋ ๋ฒ์งธ, else ๋ฌธ ์ด์ผ");
}
6. ๋ฐ๋ณต๋ฌธ
๐ค ์ฃผ์ํ ๊ฒ / WIL / ์์ฝ
1. for ๋ฌธ ์คํ ์์ ๐ค๐ค๐ค๐ค๐ค
- 1ํด : [์ ์ธ] -> [๋น๊ต] -> [๊ตฌ๋ฌธ์คํ] -> [๊ฐ ์ฆ๊ฐ] -> ๋น๊ตํด์, True๋ฉด, 2ํด ์์
- 2ํด : [์ ์ธ : ์ฆ๊ฐ๋ ๊ฐ์ผ๋ก ์งํ] -> [๋น๊ต๋ 2ํด ์ ์ ํ์ผ๋ skip] -> [๊ณง์ฅ, ๊ตฌ๋ฌธ์คํ] -> [๊ฐ ์ฆ๊ฐ] -> ๋น๊ตํด์ true ๋ฉด 3ํด ์์
2. ํ๊ธ๋ก ์ฝ๊ธฐ โญโญโญโญโญ
- ๋ฐ๋ณตํ ๊ฑฐ์ผ (let ์ฒ์์์์ํ๋๊ฐ = 1; ์ธ์ ๊น์ง๋์? i<50; ํ๋ฒ ๋๊ณ index ๊ฐ ์ด๋ป๊ฒ ๋ณํํด? a++ )
3. ๊ฐ line ์ด ๋ฐ๋ณต๋ ๋, '์ ์ธ' ์ด ๋จผ์ ๋์ด์, data ๊ฐ update ๋๋ค๋ ๊ฒ โญโญโญโญ
4. ์ฝ๊ฒ ์ดํดํ๋ฉด, 1) ๋ฐ๋ณตํ ์กฐ๊ฑด(์ข
๋ฃ ์กฐ๊ฑด)์ด ๋ญ์ง 2) ๋ฐ๋ณตํ ๋, '์ด๋ค ๋ณ์์ ๊ฐ' ์ '์ผ๋ง๋ ๋ณํ' ์์ผ์ ๋ฐ๋ณตํ ๊ฑด์ง ๋ฅผ ์ ์ํ๋๊ฒ for (let a = 1; a < b; a++) { } ์์ ๊ดํธ ์์ ์๋ ๋ถ๋ถ!
5. for ๋ฅผ ์ด๋ค๋ ๊ฑด, '๋ฐ๋ณต๋๋ ํ๋' ์ '๋์ผ'. 'data ๊ฐ ์ด๋ป๊ฒ ๋ณํ?' ํ ์ง์ ๋ํ ๊ด์ โญโญโญโญโญ
๋ฐ๋ณต๋ฌธ ์ค๋ช
let b = 5;
for (let a = 1; a < b; a++) {
console.log(a);
}
[for ๋ฌธ ์คํ ์์ ํด์]
1) [์ ์ธ] ๋ณ์ ์ ์ธํ๊ณ -> ๊ฐ์ ํ์ธ
2) [๋น๊ต] a ๊ฐ b ๋ณด๋ค ํฐ์ง ํ์ธ -> true๋ฉด for ๋ฌธ ์์ ์๋ ๊ฑธ ์คํ
3) [๊ตฌ๋ฌธ ์คํ] { ์์ ์๋๊ฑฐ ์คํ }
4) [๊ฐ ์ฆ๊ฐ] a++ ์ ์ํด, a=1 ์์ a=2 ๊ฐ ๋จ.
5) [๋น๊ต] true ์ด๋ฉด -> '๊ตฌ๋ฌธ์คํ'
6) [๊ตฌ๋ฌธ ์คํ] {์์ ์๋๊ฑฐ ์คํํจ}
7) [๊ฐ ์ฆ๊ฐ]
... ์ด ๊ณผ์ ์ด ๋ฐ๋ณต
8) [๋น๊ต] ์ด ๋น๊ต๊ฐ ๋ง์ฝ, false ์ด๋ฉด, ๊ทธ๋, '๋ฐ๋ณต๋ฌธ ์ข
๋ฃ'
[์ฃผ์] โญ ๋ฌดํ์ผ๋ก ๋ฐ๋ณต ์ํค๋ฉด, ์ฌ์ดํธ๊ฐ ํฐ์ ธ~ / ๋
ธ๋
ธ!! / ์กฐ๊ฑด์์ ์ ํ์ธํด์ผ ํจ.
๐คฏ ๋ฏธ๋ ๊ณผ์
๊ตฌ๊ตฌ๋จ ๋ง๋ค๊ธฐ
for (let c = 2; c <= 9; c++) {
for (let d = 1; d <= 9; d++) {
console.log( c, "x", d, "=", c * d );
}
}
- ์๊ฐํด๋ณด๊ธฐ
์งํ ๋์ด์ผ ํ๋ ๊ฒ
2*1
2*2
2*3
2*4
์ด๋ฐ ๊ณผ์ ์ด ๋ฐ๋ณต๋์ผ ํจ
์ฌ๊ธฐ์์ ๋ฐ์ดํฐ๋ฅผ ํ๋์ฉ, ํน์, ๋ฐ์ดํฐ๋ฅผ 2๊ฐ์ฉ, ๋ณ๊ฒฝํ ์ ์์. -> ๋ฐ์ดํฐ๊ฐ 2๊ฐ์ฉ ๋ณ๊ฒฝ๋๋ฉด -> ๋ฐ๋ณต๋ฌธ 2๊ฐ ๋ฅผ ์ธ ์ ์์ด.
์์์ ์ด๋ฆ ์ถ๋ ฅํ๊ธฐ
let students = ["๋๊ฐ์๋", "์ํฅ๋ฏผ์๋", "๋ฐ์ง์ฑ", "์ ๋๊ธฐ", "์ ๋์ง"];
let awards = ["์์์", "์ ๋์ง"];
for (i = 0; i < students.length; i++) {
for (j = 0; j < awards.length; j++) {
if (students[i] == awards[j]) {
console.log("์์์๋" + " " + students[i] + "๐")
}
}
}
3์ ๋ฐฐ์ ์ถ๋ ฅํ๊ธฐ
// ( ) ๊ดํธ ์์ด ๋จ์ํ๊ฒ, ์กฐ๊ฑด ๋ฐ๋ณต๋ง์ ๊ฒฐ์ ํ๋ ๊ฑด ์๋
// '๋์ผ ๋์'์ ์ ์งํ๋ฉด์ '๋ฐ์ดํฐ๊ฐ ์ด๋ป๊ฒ ๊ฐ turn ๋ง๋ค ๋ฐ๋๊ฒ ํ ์ง' ๋ฅผ ํ๋๊ฒ for ๋ฌธ ์ด๋ผ๋ฉด
// ๊ดํธ ์์ ์ธ๋ฑ์ฑ ์ญํ ๋ง ํ๋๊ฒ ์๋๋ผ, ๊ทธ ์์ฒด๋ก data ๊ฐ ๋์ค๋ ๊ณณ์ด ๋๋ค. โญโญโญโญโญ
for (num = 0; num <= 60; num++) {
if (num % 3 == 0) {
console.log (num + "์ด ์ซ์๋ 3์ ๋ฐฐ์ ๐");
}
else {
console.log (num + "์ด ์ซ์๋ 3์ ๋ฐฐ์๋ ์๋ ๐")
}
}
--- ## ์ฐธ๊ณ ์๋ฃ - KGA_๊ฒฝ์ผ๊ฒ์์์นด๋ฐ๋ฏธ_๋ธ๋ก์ฒด์ธ๊ณผ์ _WEEK02_javascript ---
728x90
๋ฐ์ํ
'[WEB & AI] (feat. ์ทจ์ค) > ๋ธ๋ก์ฒด์ธ ๊ฐ๋ฐ์ ๊ณผ์ _KGA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Comments