ë³ììë ë€ìí ë°ìŽí° íì
ìŽ ì¡Žì¬íë€.
ì€ëì ë°ìŽí° íì
ì ìŽë€ ì¢
ë¥ê° ìëì§ ì 늬íŽë³Žëë¡ íê² ë€.
ìì íì
(Primitive type)
ì ì ì, ì€ì, 묞ììŽ, ë
ŒëЬ(Boolean) íì
ë± ì€ì ë°ìŽí° ê°ì ì ì¥íë íì
ìŽë€.
ê°ì²Ž íì
(Object type)
ì ì°žì¡° íì
(Reference type)
ìŽëŒê³ ë ë¶ëŠ¬ë©°, ê°ì²Ž(Object)ì ë²ì§ë¥Œ ì°žì¡°(죌ì륌 ì ì¥)íë íì
ìŒë¡ ë©ëªšëЬ ë²ì§ ê°ì íµíŽ ê°ì²Žë¥Œ ì°žì¡°íë íì
ìŽë€.
ìì íì ì ê²œì° ìëì ë°ìŽí° íì ì ê°ì§ë€.
true
ì false
var
ë let
í€ìëë¡ ì ìžë ë³ìì Ʞ볞ì ìŒë¡ í ë¹ëë ê°ES6
ìì ì¶ê°ë 7ë²ì§ž íì
ìì íì ìì ë€ ê°ì ììíì ìŽ ìë ìì²ëŒ ìžë¶ì ìŒë¡ ë°ìŽí° íì ìŽ ëëìŽì žìë€ë ê²ì ì ì ìë€.
ì¬ë²(Symbol)íì ì ES6ìì ìë¡ ì¶ê°ë íì ìŒë¡ ëë ìì§ ë°°ì°ì§ ììì íìµìŽ ë ìíìì ì 늬íŽì ì¬ëŠŽ ìì ìŽë€.
ì«ìë ë§ê·žëë¡ ì ì/ì€ì ë± ëªšë륌 í¬íšíë íì ìŽë€.
ì ì
ë ììì ìŽíê° ìë ì«ì(ìì í¬íš)ìŽê³ ì€ì
ë ììì ìŽíê° ìë ì«ììŽë€.
<script>
let int = 10; // ìì ì ìí ì«ì íì
let negative = -10; // ìì ì ìí ì«ì íì
let float = 3.14 // ì€ìí ì«ì íì
</script>
ì¬êž°ì í¹ìí ì«ì íì
ìŽ ìëë° NaN
곌 Infinity
ìŽë€.
NaN
ì Not a number
ì ìœìë¡ ë§ê·žëë¡ ì«ìê° ìëëŒë ë»ìŽë€. ì£Œë¡ ê°ìŽ ì«ì íì
ìŽ ìë ë³ìì ì°ì°ì íì ë ë°ìíë ì«ì íì
ìŽë€.
<script>
let notANumber = "ì«ì"/2 // 묞ììŽì 2ë¡ ëëë 결곌ë NaNìŽ ë°íëë€.
</script>
Infinity
ë ë»ëë¡ ë¬Žíë륌 ì믞íë€. -Infinity
ì Infinity
ê° ì¡Žì¬íë€.
<script>
let Infi = 10 / 0 // 10ì 0 ëë멎 "Infinity"ëŒë ê°ì ë°ííë€.
let negativeInfi = 10 / -0 // 10ì -0 ëë멎 "-Infinity"ëŒë ê°ì ë°ííë€.
</script>
ì«ìíìì 죌ìí ì ì ë¶ëììì ìŒë¡ ìžíŽ ìžê°ìŽ ìê°íêž°ì ê°ì ì«ììŽì§ë§ 컎íší°ê° ì°ì°íëë°ë ë€ë¥ž ì«ììž ê²œì°ê° ìë€.
<script>
0.1 + 0.2 == 0.3 // ìžê°ì 'true'ëŒê³ ìê°íë€.
</script>
íì§ë§ ìœì ëŽìì ì°ì°ì íŽë³Žë©Ž ìëì²ëŒ ê²°ê³Œê° ì¶ë ¥ëë€.
ì¬êž°ì 0.3ì ììì ìŽíì ì«ìê° ìë 0.3
ì ì믞íì§ë§ 0.1 + 0.2
륌 ì°ì°í ê°ì 0.30000000000000004
ìŽëŒë ê°ì ê°ì§ê³ ììŽì ë¹êµì false
륌 ë°ííê² ëë€.
묞ììŽ íì
ì í
ì€íž ë°ìŽí°ë¥Œ ëíëŽëë° ì¬ì©íë€.
묞ììŽ íì
ì ííí ëë ìì ë°ìŽí(''), í° ë°ìŽí(""), ë°±í±(``)ì ì¬ì©í멎 ëë€.
ë°±í±(``)ì ES6ìì ì²ì ëìš í
í늿 늬í°ëŽ
ìŽëŒê³ íë€.
íì§ë§ 볎ížì ìŒë¡ë ìì ë°ìŽí('')륌 ì¬ì©íë€.
<script>
let string1 = 'ì ë 묞ììŽì
ëë€.'
let string2 = "ì ë 묞ììŽì
ëë€."
let string3 = `ì ë 묞ììŽì
ëë€.`
</script>
â í í늿 늬í°ëŽìŽë?
ES6ë¶í° ìë¡ê² ëì
ë 묞ììŽ íêž°ë²ìŽë€.
í
í늿 늬í°ëŽì ì¬ë¬ ì€ì 묞ììŽì íë²ì ì¶ë ¥í ì ìê³ (ë©í°ëŒìž), ííìì ìœì
í ì ìê³ , í귞륌 ìœì
(íê·žë í
í늿)í ìë ìë€.
<script>
let case1 = `Hello
world`
</script>
ìì ìŽë¯žì§ë¥Œ 볎멎 ì€ë°ê¿ìŽ ë ê²ì 볌 ì ìë€. íì§ë§ ëŽê° ì ë ¥í ê²ê³Œ ë€ë¥ž 묞ì íëê° ì¬ìŽì ìë€.
\n
ìžë° ìŽê²ì 'ìŽì€ìŒìŽí ìíì€'ë¡ ì€ë°ê¿, ë°±ì€íìŽì€, í ë± ì¬ë¬ê°ì§ êž°ë¥ì í ì ìë 묞ììŽë€.
\n
ë§ê³ ë ë§ì ì¢
ë¥ì ìŽì€ìŒìŽí ìíì€ê° ììŒë ìì ë§í¬ìì 볎ë ê²ì ì¶ì²íë€.
í í늿 늬í°ëŽì ííì ìœì ì ê°ëší 묞ììŽì ìœì í ì ìë€.
ìëì²ëŒ ë³Žíµ ë¬žììŽì ìŽìŽì ì°ê²°í ëë ë°ìŽíì ì°ì°ì '+'륌 ì¬ì©íì¬ ë²ê±°ë¡ê² ìŽìŽì ì¬ì©íë€.
<script>
// Ʞ졎ì 묞ììŽ
var name = "ì íì°";
var age = "29";
console.log("ìë
íìžì, " + "ì ë " + name + "ìŽê³ , " + "ëìŽë " + age + "ìŽì
ëë€." )
</script>
íì§ë§ í í늿 늬í°ëŽì ì죌 ê°ëšíê² ìì±íì¬ ê°ë ì±ì ì¬ëŠŽ ì ìë€ë ì¥ì ìŽ ìë€.
<script>
// í
í늿 묞ììŽ ì¬ì©
var name = "ì íì°";
var age = "29";
console.log(`ìë
íìžì, ì ë ${name}ìŽê³ ëìŽë ${age}ìŽì
ëë€.`)
</script>
ì¬êž°ì í
í늿 늬í°ëŽì í¹ì§ì ë³ìì ê°ì ííìì ë£ê³ ì¶ì ëë ${ë³ìëª
}
ìŒë¡ ìì±í멎 ëë€.
ë§ ê·žëë¡ í귞륌 ë£ìŽ ííí ì ìë€.
ë§ìœ <ul>
íê·ž ìì <li>
í귞륌 ë£ê³ ì¶ë€ë©Ž ìëì²ëŒ ìì±í멎 ëë€.
<script>
let tag = `<ul>
<li>hello<li>
</ul>`
</script>
ìë ì ì©íê² ì¬ì©ëë 묞ììŽ íêž°ë²ìŽêž° ë묞ì ë°ëì ìì§íë ê²ìŽ ì¢ë€.
묞ììŽì 죌ìí ì ì "ë°ìŽí륌 ì¬ë°ë¥Žê² ì¬ì©íëì§"ìŽë€.
ìëì²ëŒ ë°ìŽí륌 ê°ìžê³ ìì ê°ì ì¢ ë¥ì ë°ìŽíë¡ ê°ìžë©Ž ìëì²ëŒ ë¬žë² ì€ë¥ê° ë°ìíë€.
<script>
let errCase1 = "ëë 묞ììŽì
ëë€. "ëë 묞ììŽì
ëë€."";
let errCase2 = 'ëë 묞ììŽì
ëë€. 'ëë 묞ììŽì
ëë€.'';
</script>
ì€ë¥ë¥Œ ë°©ì§íêž° ìíŽ ë§ìœ ë°ìŽí ìì ë°ìŽí륌 ë£ê³ ì¶ë€ë©Ž ê°ìžë ë°ìŽíì ë€ë¥ž ê²ìŒë¡ ê°ìžì ë£ìŒë©Ž ê°ì 묞ììŽë¡ ìžìíë€.
ëí ë³ìì 묞ììŽì ë£ê³ ì¶ì ë ë°ìŽí륌 ì¬ì©íì§ ììŒë©Ž "ë³ìëª "ìŒë¡ ìžìíë€.
<script>
let string = hello;
</script>
ìì²ëŒ hello
ëŒë ë³ìëª
ì ê°ì§ ë³ì륌 ì°Ÿìì§ë§ ìì§ ì ìëì§ ììë€ë ìë¬ë¥Œ ë°ììíšë€.
ê·žëì ë°ëì 묞ììŽ ë°ìŽí° íì
ì ë³ìì í ë¹íê³ ì¶ë€ë©Ž ë°ìŽíë ë°±í±ì ì¬ì©íŽìŒ íë€.
íì ì€ ê°ì¥ ê°ëší ê° 2ê°ì§ë¥Œ ê°ì§ ë°ìŽí° íì ìŽë€.
true
ì false
륌 ë°ííë€.
ë¶ëŠ¬ìž ê°ì ì§ì í ë¹ì íêž°ë³Žë€ '조걎ì'ì íµíŽ íë¡ê·žëšì íëŠì ì ìŽíë '조걎묞'ìì ì죌 ì¬ì©ëë€.
ì륌 ë€ë©Ž ìëì²ëŒ ì¬ì©íë€.
<script>
let num1 = 5;
let num2 = 10;
if(num1 > num2){
console.log("num1 is big");
}else{
console.log("num2 is big");
}
</script>
조걎묞 ifì 조걎ì(num1 > num2
)ìŽ true
ëŒë©Ž 첫ë²ì§ž ëª
ë ¹ë¬ž(console.log("num1 is big")
)ì ì€ííê³ false
ìŒ ê²œì° else
ì ëª
ë ¹ë¬žì ì€ííê² ëë€.
ììì ë§í ê²ì²ëŒ ì¡°ê±ŽìŽ ìŒì¹íë ëª ë ¹ë¬žì ì€ííë ê²ìŒë¡ íë¡ê·žëšì íëŠì ì ìŽíë ìë¡ ë³Œ ì ìë€.
undefined
ë ììì ì 늬í ë¯ìŽ "var
ì let
í€ìë륌 íµíŽ ì ìží ë³ìì ê°ìŽ í ë¹ëì§ ìì ìíì ì묵ì ìŒë¡ íë¹ëë ê°"ìŽëŒê³ íë€.
<script>
let value;
console.log(value);
</script>
null
ì ë³ìì ê°ìŽ ìë€ë ê²ì ìëì ìŒë¡ ëª
ìí ë ì¬ì©íë ê°ìŽë€.
<script>
let noValue;
let empty = null;
console.log(noValue, empty);
</script>
undefined
ë ë³ìë ì ìžì íì§ë§ ê°ìŽ ì íŽì§ì§ ìì ê²ì ë§íë€.
'몚ë ìë°ì€í¬ëŠœíž Deep Dive'ììë ë³ìê° ì ìžë멎 ì²ì í ë¹ìŽ ìŽë€ì§ ëê¹ì§ ë¹ ìíë¡ ëŽë²ë €ëì§ ìê³ ìë°ì€í¬ëŠœíž ìì§ìŽ undefinedë¡ í ë¹íë€'ëŒê³ êž°ì¬ëìŽìë€.
íì§ë§ null
ì 겜ì°, ê°ë°ìê° ìëì ìŒë¡ ë©ëªšëЬ ì
ìŽ ë¹ìŽìë€ëŒë ê²ì ëª
ìíê³ ì¶ì ë ì¬ì©íë ê°ìŽë¯ë¡ undefined
ìë ì°šìŽê° ìë€.
ë null
ì í¹ìí ì ì null
ì íì
ì object
ìž ê²ìŽë€.
ìŽê²ì ìë°ì€í¬ëŠœížì ê°ë°ì 'ëžëë ììŽí¬'ê° null
ì íì
ì object
ë¡ í ê²ì ì€ìëŒê³ ìžì í ë° ìë€.
ìë°ì€í¬ëŠœížì ë³ì륌 ë€ì ê³µë¶í멎ì ëë ì ì 'íì€í ê³µë¶í ê²ìŽ ë§ë€'ëŒë ê²ìŽë€.
ë³ì륌 ê³µë¶í ë ê°ëšíê² ê³µë¶í멎 ì ë¹í ìê° ëŽì ëêžž ì ìê² ì§ë§ ë€ì ê³µë¶íë ì ì¥ìì ê°ìë§ìŒë¡ ë§ì¡±íì§ ìê³ ìì ë€ì íšê» 볎멎ì ì 늬íŽì ëì± ììê°ê³ ì¶ì ìì¬ìŽ ì»€ì§ë€.
ì§êž ìŽë ê² íì€í ììë멎 ëì€ì ê°ì ë íŒëìŽ ìì ê²ìŽëŒë êž°ë륌 ê°ì§ê³ ëì± ìŽì¬í ê³µë¶íê³ ì€ì€ë¡ ì°Ÿì볎ë íë륌 ì ì§íŽìŒê² ë€.