๊ฐ์ธ ๊ณต๋ถ๋ฅผ ์ํด ์์ฑํ์ต๋๋ค
- JavaScript๋ ์นํ์ด์ง๋ฅผ ๋์ ์ผ๋ก, ํ๋ก๊ทธ๋๋ฐ์ ์ผ๋ก ์ ์ดํ๊ธฐ ์ํด์ ๊ณ ์๋ ์ธ์ด. ์ค๋๋ ๊ฐ์ฅ ์ค์ํ ํ๋ซํผ์ด๋ผ๊ณ ํ ์ ์๋ ์น๋ธ๋ผ์ฐ์ ์์ ์ ์ผํ๊ฒ ์ฌ์ฉํ ์ ์๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ด๋ค.
- ์น ํ์ด์ง๋ฅผ ๋ง๋ค ๋ HTML๋ก ๋ผ๋๋ฅผ ๋ง๋ค๊ณ , CSS๋ก ๋์์ธํ๊ณ ๊พธ๋ช๋ค๋ฉด, JavaScript๋ก ๋์ ์ผ๋ก ์์ง์ด๊ฒ ํ๋ค
+
-
*
/
๋ฑ์ ์ฐ์ ์ฐ์ฐ์ด ๊ฐ๋ฅํ๋ฉฐ Math
๋ผ๋ ๋ด์ฅ๊ฐ์ฒด๋ฅผ ์ด์ฉํ์ฌ ์ํํจ์๋ฅผ ์ด์ฉํ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์๋ ์๋คNaN
Not a Numbernull
undefined
- ๋ณ์(Variable)๋ (๋ฌธ์๋ ์ซ์ ๊ฐ์) ๊ฐ์ ๋ด๋ ์ปจํ ์ด๋๋ก ๊ฐ์ ์ ์งํ ํ์๊ฐ ์์ ๋ ์ฌ์ฉํ๋ค.
- ์ฌ๊ธฐ์ ๋ด๊ฒจ์ง ๊ฐ์ ๋ค๋ฅธ ๊ฐ์ผ๋ก ๋ฐ๊ฟ ์ ์๋ค.
โจ์ฐธ๊ณ โจ๋ณ์๋ ์ฝ๋์ ์ฌํ์ฉ์ฑ์ ๋์ฌ์ค๋ค
var
var
์ฌ์ฉ ์ ์ฃผ์ํ ์ !var
์๋ต ๊ฐ๋ฅ{
name = 'April';
var name;
}
console.log(name);
// ๋ธ๋ญ{}์์์ ๋ณ์๋ฅผ ์ ์ธํ์์๋ ๋ธ๋ญ ๋ฐ์์ ๋ถ๋ฌ์ฌ ์ ์์
โจ์ฐธ๊ณ โจUse strict;
- Strict Mode์ ์ ์ธ๋ฐฉ์
- ES5๋ถํฐ ์ ์ฉ๋๋ ํค์๋๋ก,
- ์์ ํ ์ฝ๋ฉ์ ์ํ ํ๋์ ๊ฐ์ด๋๋ผ์ธ
- ์ฝ๋์ ๋ ๋์ ์ค๋ฅ ๊ฒ์ฌ๋ฅผ ์ ์ฉํ๋ ๋ฐฉ๋ฒ
- Strict Mode๋ฅผ ์ฌ์ฉํ๋ฉด, ์๋ฅผ ๋ค์ด ์์์ ์ผ๋ก ์ ์ธํ ๋ณ์๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ์ฝ๊ธฐ ์ ์ฉ ์์ฑ์ ๊ฐ์ ํ ๋นํ๊ฑฐ๋ ํ์ฅํ ์ ์๋ ๊ฐ์ฒด์ ์์ฑ์ ์ถ๊ฐํ ์ ์๋ค.
'use strict';
let
(added in ES6)var
ํค์๋๊ฐ ๋ธ๋ก ๋ฒ์๋ฅผ ๋ฌด์ํ๊ณ ์ ์ญ ๋ณ์๋ ํจ์ ์ง์ญ ๋ณ์๋ก ์ ์ธ๋๋ ๊ฒ๊ณผ ๋ค๋ฅธ ์ ์ด๋คconst
let ๋ณ์๋ช
;
let ๋ณ์๋ช
= ์ด๊ธฐ์ ํ ๋นํ ๊ฐ;
๐ฉ์ง์ค!
- Mutable : ๋ณ๊ฒฝ ๊ฐ๋ฅํ ๋ณ์๋ let ์ผ๋ก ์ ์ธ
- Immutable: ๋ณ๊ฒฝ ๋ถ๊ฐํ ๋ณ์๋ cosnt ๋ก ์ ์ธ
a=1
'='๋ ์ฐํญ์ ๊ฐ์ธ 1์ ์ขํญ์ ๋ณ์ a์ ๋์
ํ๋ '๋์
์ฐ์ฐ์'==
์ขํญ๊ณผ ์ฐํญ์ ๋น๊ตํด์ ์๋ก ๊ฐ์ด ๊ฐ๋ค๋ฉด true
๋ค๋ฅด๋ค๋ฉด false
๊ฐ ๋๋คalert(1==2) //false
alert(1==1) //true
alert("one"=="two") //false
alert("one"=="one") //true
===
์ขํญ๊ณผ ์ฐํญ์ด ์ ํํ๊ฒ ๊ฐ์ ๋ true
๋ค๋ฅด๋ฉด false
๊ฐ ๋๋คalert(1=='1'); //true
alert(1==='1'); //false
alert(null == undefined); //true
alert(null === undefined); //false
alert(true == 1); //true
alert(true === 1); //false
alert(true == '1'); //true
alert(true === '1'); //false
alert(0 === -0); //true
alert(NaN === NaN); //false
!=
!
๋ ๋ถ์ ์ ์๋ฏธํ๋ค. '๊ฐ๋ค'์ ๋ถ์ ์ '๊ฐ์ง ์๋ค'์ด๋ค. ์ด๊ฒ์ ๊ธฐํธ๋ก๋ !=
๋ก ํ์ํ๋ค!==
!=
์ ==
์ ๊ด๊ณ์ ๊ฐ๋ค. ์ ํํ๊ฒ ๊ฐ์ง ์๋ค๋ ์๋ฏธ>
์ขํญ์ด ์ฐํญ๋ณด๋ค ํฌ๋ค๋ฉด ์ฐธ, ๊ทธ๋ ์ง ์๋ค๋ฉด ๊ฑฐ์ง์์ ์๋ ค์ฃผ๋ ์ฐ์ฐ์>=
์ขํญ์ด ์ฐํญ๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๋คconsole.log(1 + 1); // add
console.log(1 - 1); // substract
console.log(1 / 1); // divide
console.log(1 * 1); // multiply
console.log(5 % 2); // remainder ๋๋๊ณ ๋๋จธ์ง ๊ฐ
console.log(2 ** 3); // exponentiation 2์ 3์น
let x = 3;
let y = 6;
x += Y; // x = x + y;
x -= Y; // x = x - y;
x *= Y; // x = x * y;
x /= Y; // x = x / y;
||
(or) true ๊ฐ์ด ๋์ค๋ฉด ์ค๋จ, ๊ทธ ๋ค์ ๊ฐ์ ๋ฌด์
console.log('or: ${value1 || value2 || check()}');
$$
(and) ๋ชจ๋ ๊ฐ์ด true ์ด์ด์ผ return.
console.log('or: ${value1 $$ value2 $$ check()}');
!
(not) ๋
ผ๋ฆฌ ๋ถ์ ์ ์๋ฏธ. ๊ฐ์ ๋ฐ๋๋ก ๋ณ๊ฒฝ. true์ผ ๊ฒฝ์ฐ๋ false๋ก, false์ผ ๊ฒฝ์ฐ๋ true๋ก ๋ณ๊ฒฝ
console.log(!value1);
์กฐ๊ฑด ? ๊ฐ1 : ๊ฐ2
// condition ? value1 : value2
const name = 'april';
console.log(name === 'april' ? 'yes' : 'no'):
์กฐ๊ฑด๋ฌธ์ด๋?
- ์ปดํจํฐ๊ฐ ๊ณ์ฐ๊ธฐ์ ๊ตฌ๋ถ๋๋ ๊ฐ์ฅ ์ค์ํ ์ฐจ์ด
- ์ฃผ์ด์ง ์กฐ๊ฑด์ ๋ฐ๋ผ application์ ๋ค๋ฅด๊ฒ ๋์ํ๊ฒ ํ๋๋ก ํ๋ ๊ฒ
- ํ๋ก๊ทธ๋จ์ ๋๋ํ๊ฒ ๋ง๋๋ ๊ฒ
if
, else if
, else
const name = 'april';
if(name === 'april') {
console.log('Hello april');
} else if (name === 'coder') {
console.log('You are amazing coder');
} else {
console.log('Unknown');
}
if else
๋ฅผ ๋ฐ๋ณตํ๋ค๋ฉด switch
๋ฅผ ์ฌ์ฉconst browser = 'IE';
switch (browser) {
case 'IE';
console.log('go away!');
break;
case 'Chrome';
console.log('love you!');
break;
case 'firefox';
console.log('nice!');
break;
default
console.log('same all!');
break;
}
โจ์ฐธ๊ณ โจ
break;
์ฆ์ ์ค๋จcontinue;
์ง๊ธ์ ๋จ๊ณ๋ง ์ค๋จํ๊ณ ๋ค์์ผ๋ก ์ด๋๋ฐ๋ณต๋ฌธ์ด๋?
- ํ๋ก๊ทธ๋๋ฐ์ ์ผ๋ก ๋ฐ๋ณต ์์ ์ ์คํ
- loop, iterate
- for๋ฌธ, while๋ฌธ
- ์กฐ๊ฑด๋ฌธ์ด ์ปดํจํฐ๋ฅผ ๋๋ํ๊ฒ ํ๋ค๋ฉด, ๋ฐ๋ณต๋ฌธ์ ์ปดํจํฐ๋ฅผ ๊ฐ๋ ฅํ๊ฒ ํ๋ค
for (i = 3; i > 0; i--) {
console.log('for: ${i}');
}
let
์ผ๋ก i
์ ์ง์ญ ๋ณ์๋ฅผ ์ ์ธ for (let i = 3; i > 0; i = i - 2) {
console.log('inline variable for: ${i}');
}
1. while๋ฌธ
let i = 3;
while (i > 0) {
console.log('while: ${i}');
i--;
}
2. do while๋ฌธ
let i = 3;
do {
console.log('do while: ${i}');
i--;
} while (i > 0);
โ ๋ชฉํ!