JavaScript๐ก:: ๋ณ์, ๋ฐ๋ณต๋ฌธ, ์กฐ๊ฑด๋ฌธ
๊ฐ์ธ ๊ณต๋ถ๋ฅผ ์ํด ์์ฑํ์ต๋๋ค
JavaScript๋?
- JavaScript๋ ์นํ์ด์ง๋ฅผ ๋์ ์ผ๋ก, ํ๋ก๊ทธ๋๋ฐ์ ์ผ๋ก ์ ์ดํ๊ธฐ ์ํด์ ๊ณ ์๋ ์ธ์ด. ์ค๋๋ ๊ฐ์ฅ ์ค์ํ ํ๋ซํผ์ด๋ผ๊ณ ํ ์ ์๋ ์น๋ธ๋ผ์ฐ์ ์์ ์ ์ผํ๊ฒ ์ฌ์ฉํ ์ ์๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ด๋ค.
- ์น ํ์ด์ง๋ฅผ ๋ง๋ค ๋ HTML๋ก ๋ผ๋๋ฅผ ๋ง๋ค๊ณ , CSS๋ก ๋์์ธํ๊ณ ๊พธ๋ช๋ค๋ฉด, JavaScript๋ก ๋์ ์ผ๋ก ์์ง์ด๊ฒ ํ๋ค
โData Types
1. ์ซ์ number
- ์ซ์๋ฅผ ํํํ๊ฑฐ๋ ์ฐ์ ์ฐ์ฐ์ ํ๋๋ฐ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ ํ์
.
- ๊ธฐ๋ณธ์ ์ผ๋ก
+
-
*
/
๋ฑ์ ์ฐ์ ์ฐ์ฐ์ด ๊ฐ๋ฅํ๋ฉฐ Math
๋ผ๋ ๋ด์ฅ๊ฐ์ฒด๋ฅผ ์ด์ฉํ์ฌ ์ํํจ์๋ฅผ ์ด์ฉํ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์๋ ์๋คโ NaN
Not a Number
- ํด๋น ํ๋ ๊ฐ์ด ์ซ์๊ฐ ์๋๋ ๋ป
2. ๋ฌธ์, ๋ฌธ์์ด string
- String์ ๋ฌธ์์ด์ ํํํ๋๋ฐ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ ํ์
.
- ๋ฌธ์์ด์ด๋ผ ํจ์ ๋ฌธ์ ํ๋ํ๋๊ฐ ์ฐ๊ฒฐ๋์ด ํ๋์ ํํ์ ์ด๋ฃจ๋ ๋ฐ์ดํฐ๋ฅผ ๋งํ๋ ๊ฒ
3. ๋ธ๋ฆฌ์ธ boolean
- true, false๊ฐ์ ๊ฐ์ง๋ ๋
ผ๋ฆฌ ๋ฐ์ดํฐ ํ์
4. ๊ฐ์ฒด object
- function ํจ์
- array ๋ฐฐ์ด
- date ๋ ์ง
- regExp ์ ๊ท์
5. null
- ํ
ํ
๋น์ด์๋ ๊ฐ, empty
6. undefined
- ์ด๊ธฐํ(์ ์ธ) ๋์ง ์์๊ฑฐ๋ ๊ฐ์ด ํ ๋น๋์ง ์์์์ ๋ํ๋ด๋ ๊ฐ
โ๋ณ์ Variable
- ๋ณ์(Variable)๋ (๋ฌธ์๋ ์ซ์ ๊ฐ์) ๊ฐ์ ๋ด๋ ์ปจํ
์ด๋๋ก ๊ฐ์ ์ ์งํ ํ์๊ฐ ์์ ๋ ์ฌ์ฉํ๋ค.
- ์ฌ๊ธฐ์ ๋ด๊ฒจ์ง ๊ฐ์ ๋ค๋ฅธ ๊ฐ์ผ๋ก ๋ฐ๊ฟ ์ ์๋ค.
โจ์ฐธ๊ณ โจ๋ณ์๋ ์ฝ๋์ ์ฌํ์ฉ์ฑ์ ๋์ฌ์ค๋ค
โ๋ณ์์ ์ ์ธ
var
- ์ ํต์ ์ผ๋ก JavaScript์์์ ๋ณ์ ์ ์ธ ๋ฐฉ์
๐ฉ์ง์ค! var
์ฌ์ฉ ์ ์ฃผ์ํ ์ !
- hoisting: ์ด๋์ ์ ์ธํ๋์ ์๊ด์์ด ์ ์ธํ ๊ฒ์ ํญ์ ์ ค ์๋ก ๋์ด ์ฌ๋ ค์ฃผ๋ ๊ฒ
- ์ค๋ณต๋ ๋ณ์๋ช
์ฌ์ฉ ๊ฐ๋ฅ
var
์๋ต ๊ฐ๋ฅ
- Scope Rule: ๋ธ๋ญ์ ์ฒ ์ ํ ๋ฌด์
{
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.
- (and)๋ null๊ฐ ์ฒดํฌํ ๋์๋ ๋ง์ด ์ฌ์ฉ๋จ
console.log('or: ${value1 $$ value2 $$ check()}');
-
!
(not) ๋
ผ๋ฆฌ ๋ถ์ ์ ์๋ฏธ. ๊ฐ์ ๋ฐ๋๋ก ๋ณ๊ฒฝ. true์ผ ๊ฒฝ์ฐ๋ false๋ก, false์ผ ๊ฒฝ์ฐ๋ true๋ก ๋ณ๊ฒฝ
console.log(!value1);
โ์กฐ๊ฑด(์ผํญ) ์ฐ์ฐ์
- 3๊ฐ์ ํญ์ ์ฌ์ฉํ๋ ์ ์ผํ ์ฐ์ฐ์.
- ์กฐ๊ฑด ์ฐ์ฐ์๋ ์กฐ๊ฑด์ ๋ฐ๋ผ 2๊ฐ์ ๊ฐ์ค ํ๋๋ฅผ ๊ฐ์ง ์ ์๋ค
- ๊ธฐ๋ณธ ๋ฌธ๋ฒ
์กฐ๊ฑด ? ๊ฐ1 : ๊ฐ2
// condition ? value1 : value2
const name = 'april';
console.log(name === 'april' ? 'yes' : 'no'):
โif๋ฌธ_ ์กฐ๊ฑด๋ฌธ
์กฐ๊ฑด๋ฌธ์ด๋?
- ์ปดํจํฐ๊ฐ ๊ณ์ฐ๊ธฐ์ ๊ตฌ๋ถ๋๋ ๊ฐ์ฅ ์ค์ํ ์ฐจ์ด
- ์ฃผ์ด์ง ์กฐ๊ฑด์ ๋ฐ๋ผ 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');
}
โswitch๋ฌธ_ ๋ค์ค ์กฐ๊ฑด๋ฌธ
- ๋ค์ค ์ฒดํฌํ ๊ฒฝ์ฐ ์ฌ์ฉ
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;
}
- JavaScript๋ ์นํ์ด์ง๋ฅผ ๋์ ์ผ๋ก, ํ๋ก๊ทธ๋๋ฐ์ ์ผ๋ก ์ ์ดํ๊ธฐ ์ํด์ ๊ณ ์๋ ์ธ์ด. ์ค๋๋ ๊ฐ์ฅ ์ค์ํ ํ๋ซํผ์ด๋ผ๊ณ ํ ์ ์๋ ์น๋ธ๋ผ์ฐ์ ์์ ์ ์ผํ๊ฒ ์ฌ์ฉํ ์ ์๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ด๋ค.
- ์น ํ์ด์ง๋ฅผ ๋ง๋ค ๋ HTML๋ก ๋ผ๋๋ฅผ ๋ง๋ค๊ณ , CSS๋ก ๋์์ธํ๊ณ ๊พธ๋ช๋ค๋ฉด, JavaScript๋ก ๋์ ์ผ๋ก ์์ง์ด๊ฒ ํ๋ค
+
-
*
/
๋ฑ์ ์ฐ์ ์ฐ์ฐ์ด ๊ฐ๋ฅํ๋ฉฐ Math
๋ผ๋ ๋ด์ฅ๊ฐ์ฒด๋ฅผ ์ด์ฉํ์ฌ ์ํํจ์๋ฅผ ์ด์ฉํ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์๋ ์๋คโ NaN
Not a Number
- ํด๋น ํ๋ ๊ฐ์ด ์ซ์๊ฐ ์๋๋ ๋ป
null
undefined
- ๋ณ์(Variable)๋ (๋ฌธ์๋ ์ซ์ ๊ฐ์) ๊ฐ์ ๋ด๋ ์ปจํ ์ด๋๋ก ๊ฐ์ ์ ์งํ ํ์๊ฐ ์์ ๋ ์ฌ์ฉํ๋ค.
- ์ฌ๊ธฐ์ ๋ด๊ฒจ์ง ๊ฐ์ ๋ค๋ฅธ ๊ฐ์ผ๋ก ๋ฐ๊ฟ ์ ์๋ค.
โจ์ฐธ๊ณ โจ๋ณ์๋ ์ฝ๋์ ์ฌํ์ฉ์ฑ์ ๋์ฌ์ค๋ค
var
- ์ ํต์ ์ผ๋ก JavaScript์์์ ๋ณ์ ์ ์ธ ๋ฐฉ์
๐ฉ์ง์ค!
var
์ฌ์ฉ ์ ์ฃผ์ํ ์ !- hoisting: ์ด๋์ ์ ์ธํ๋์ ์๊ด์์ด ์ ์ธํ ๊ฒ์ ํญ์ ์ ค ์๋ก ๋์ด ์ฌ๋ ค์ฃผ๋ ๊ฒ
- ์ค๋ณต๋ ๋ณ์๋ช ์ฌ์ฉ ๊ฐ๋ฅ
var
์๋ต ๊ฐ๋ฅ- Scope Rule: ๋ธ๋ญ์ ์ฒ ์ ํ ๋ฌด์
{
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.
- (and)๋ null๊ฐ ์ฒดํฌํ ๋์๋ ๋ง์ด ์ฌ์ฉ๋จ
console.log('or: ${value1 $$ value2 $$ check()}');
!
(not) ๋
ผ๋ฆฌ ๋ถ์ ์ ์๋ฏธ. ๊ฐ์ ๋ฐ๋๋ก ๋ณ๊ฒฝ. true์ผ ๊ฒฝ์ฐ๋ false๋ก, false์ผ ๊ฒฝ์ฐ๋ true๋ก ๋ณ๊ฒฝ
console.log(!value1);
- ์กฐ๊ฑด ์ฐ์ฐ์๋ ์กฐ๊ฑด์ ๋ฐ๋ผ 2๊ฐ์ ๊ฐ์ค ํ๋๋ฅผ ๊ฐ์ง ์ ์๋ค
์กฐ๊ฑด ? ๊ฐ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;
์ง๊ธ์ ๋จ๊ณ๋ง ์ค๋จํ๊ณ ๋ค์์ผ๋ก ์ด๋
โfor๋ฌธ_ ๋ฐ๋ณต๋ฌธ
๋ฐ๋ณต๋ฌธ์ด๋?
- ํ๋ก๊ทธ๋๋ฐ์ ์ผ๋ก ๋ฐ๋ณต ์์ ์ ์คํ
- 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}');
}
โwhile๋ฌธ_ ๋ฐ๋ณต๋ฌธ
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);
โ ๋ชฉํ!
- JavaScript์ ๋ํ ๊ฐ๋ ์ ์ดํดํ๊ณ
- ๋ฐ์ดํฐ ํ์ ๊ณผ ์ฐ์ฐ์์ ๋ํด ์ตํ๋ค
- ๋ฐ๋ณต๋ฌธ, ์กฐ๊ฑด๋ฌธ์ ์ตํ๋ค
๋๋ฆผ์ฝ๋ฉ by ์๋ฆฌ
์ํ์ฝ๋ฉ
MDN
Author And Source
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(JavaScript๐ก:: ๋ณ์, ๋ฐ๋ณต๋ฌธ, ์กฐ๊ฑด๋ฌธ), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://velog.io/@april_5/JavaScript์ ์ ๊ท์: ์์์ ์ ๋ณด๊ฐ ์์์ URL์ ํฌํจ๋์ด ์์ผ๋ฉฐ ์ ์๊ถ์ ์์์ ์์ ์ ๋๋ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค