í¨ìì ì°ì°ìì ì ë¬ëë ê°ì ëë¶ë¶ ì ì í ìë£íì¼ë¡ ìë ë³íë©ëë¤. ì´ë° ê³¼ì ì "í ë³í(type conversion)"ì´ë¼ê³ í©ëë¤.
alertê° ì ë¬ë°ì ê°ì ìë£íê³¼ ê´ê³ìì´ ì´ë¥¼ 문ìì´ë¡ ìë ë³ííì¬ ë³´ì¬ì£¼ë ê²ì´ë, ìí ê´ë ¨ ì°ì°ìê° ì ë¬ë°ì ê°ì ì«ìë¡ ë³ííë ê²½ì°ê° í ë³íì ëíì ì¸ ììì
ëë¤.
ì´ ì¸ì, ì ë¬ë°ì ê°ì ìë를 ê°ê³ ìíë íì ì¼ë¡ ë³í(ëª ìì ë³í)í´ ì£¼ë ê²½ì°ë í ë³íì´ë¼ê³ í ì ììµëë¤.
ì´ ì±í°ìì ê°ì²´ë ë¤ë£¨ì§ ìê² ìµëë¤. ì¬ê¸°ì ììíì íë³íì ëí´ìë§ ë¤ë£° ìì ì ëë¤.
ê°ì²´ì í ë³íì´ ì´ë»ê² ì´ë¤ì§ëì§ ê°ì²´ë¥¼ ììíì¼ë¡ ë³íí기ì ëí´ì ê°ì²´ì ëí íìµì´ ëë í ììë³´ê² ìµëë¤.
문ìíì¼ë¡ ë³í
문ìíì¼ë¡ì í ë³íì 문ìíì ê°ì´ íìí ë ì¼ì´ë©ëë¤.
alertë©ìëë 매ê°ë³ìë¡ ë¬¸ìíì ë°ê¸° ë문ì, alert(value)ìì valueë 문ìíì´ì´ì¼ í©ëë¤. ë§ì½, ë¤ë¥¸ íì ê°ì ì ë¬ë°ì¼ë©´ ì´ ê°ì 문ìíì¼ë¡ ìë ë³íë©ëë¤.
String(value) í¨ì를 í¸ì¶í´ ì ë¬ë°ì ê°ì 문ìì´ë¡ ë³í í ìë ììµëë¤.
let value = true;
alert(typeof value); // boolean
value = String(value); // ë³ì valueì 문ìì´ "true"ê° ì ì¥ë©ëë¤.
alert(typeof value); // string
falseë 문ìì´ "false"ë¡, nullì 문ìì´ "null"ë¡ ë³íëë ê²ê³¼ ê°ì´, 문ìíì¼ë¡ì ë³íì ëë¶ë¶ ì측 ê°ë¥í ë°©ìì¼ë¡ ì¼ì´ë©ëë¤.
ì«ìíì¼ë¡ ë³í
ì«ìíì¼ë¡ì ë³íì ìíê³¼ ê´ë ¨ë í¨ìì ííììì ìëì¼ë¡ ì¼ì´ë©ëë¤.
ì«ìíì´ ìë ê°ì ëë기 /를 ì ì©í ê²½ì°ì ê°ì´ ë§ì´ì£ .
alert( "6" / "2" ); // 3, 문ìì´ì´ ì«ìíì¼ë¡ ìëë³íë í ì°ì°ì´ ìíë©ëë¤.
Number(value) í¨ì를 ì¬ì©íë©´ 주ì´ì§ ê°(value)ì ì«ìíì¼ë¡ ëª
ìí´ì ë³íí ì ììµëë¤.
let str = "123";
alert(typeof str); // string
let num = Number(str); // 문ìì´ "123"ì´ ì«ì 123ì¼ë¡ ë³íë©ëë¤.
alert(typeof num); // number
ì«ìí ê°ì ì¬ì©í´ 무ì¸ê°ë¥¼ íë ¤ê³ íëë° ê·¸ ê°ì 문ì ê¸°ë° í¼(form)ì íµí´ ì ë ¥ë°ë ê²½ì°ì, ì´ë° ëª ìì í ë³íì´ íìì ëë¤.
íí¸, ì«ì ì´ì¸ì ê¸ìê° ë¤ì´ê° ìë 문ìì´ì ì«ìíì¼ë¡ ë³ííë ¤ê³ íë©´, ê·¸ ê²°ê³¼ë NaNì´ ë©ëë¤. ìì를 ì´í´ë´
ìë¤.
let age = Number("ììì 문ìì´ 123");
alert(age); // NaN, í ë³íì´ ì¤í¨í©ëë¤.
ìëë ì«ìíì¼ë¡ ë³í ì ì ì©ëë ê·ì¹ì ëë¤.
| ì ë¬ë°ì ê° | í ë³í í |
|---|---|
undefined |
NaN |
null |
0 |
true and false |
1 ê³¼ 0 |
string |
문ìì´ì ì²ìê³¼ ë ê³µë°±ì´ ì ê±°ë©ëë¤. 공백 ì ê±° í ë¨ììë 문ìì´ì´ ìë¤ë©´ 0, ê·¸ë ì§ ìë¤ë©´ 문ìì´ìì ì«ì를 ì½ìµëë¤. ë³íì ì¤í¨íë©´ NaNì´ ë©ëë¤. |
ìì:
alert( Number(" 123 ") ); // 123
alert( Number("123z") ); // NaN ("z"를 ì«ìë¡ ë³ííë ë° ì¤í¨í¨)
alert( Number(true) ); // 1
alert( Number(false) ); // 0
nullê³¼ undefinedë ì«ìíì¼ë¡ ë³í ì ê²°ê³¼ê° ë¤ë¥´ë¤ë ì ì ì ìíì기 ë°ëëë¤. nullì 0ì´ ëê³ undefinedë NaNì´ ë©ëë¤.
ëë¶ë¶ì ìí ì°ì°ì í ë³íì ìë°í©ëë¤. ìì¸í ë´ì©ì ë¤ì ì±í°ìì ì´í´ë³´ê² ìµëë¤.
ë¶ë¦°íì¼ë¡ ë³í
ë¶ë¦°íì¼ë¡ì ë³íì ì주 ê°ë¨í©ëë¤.
ì´ í ë³íì ë
¼ë¦¬ ì°ì°ì ìíí ë ë°ìí©ëë¤(ë
¼ë¦¬ ì°ì°ì ê´í ë´ì©ì ë¤ ì±í°ìì ë¤ë£¨ê³ ììµëë¤). Boolean(value)를 í¸ì¶íë©´ ëª
ìì ì¼ë¡ ë¶ë¦¬ì¸ì¼ë¡ì í ë³íì ìíí ì ììµëë¤.
ë¶ë¦°íì¼ë¡ ë³í ì ì ì©ëë ê·ì¹ì ë¤ìê³¼ ê°ìµëë¤.
- ì«ì
0, ë¹ ë¬¸ìì´,null,undefined,NaNê³¼ ê°ì´ ì§ê´ì ì¼ë¡ë âë¹ì´ìë¤ê³ â ëê»´ì§ë ê°ë¤ìfalseê° ë©ëë¤. - ê·¸ ì¸ì ê°ì
trueë¡ ë³íë©ëë¤.
ìì:
alert( Boolean(1) ); // ì«ì 1(true)
alert( Boolean(0) ); // ì«ì 0(false)
alert( Boolean("hello") ); // 문ìì´(true)
alert( Boolean("") ); // ë¹ ë¬¸ìì´(false)
"0"ì trueì
ëë¤.PHP ë±ì ì¼ë¶ ì¸ì´ìì 문ìì´ "0"ì falseë¡ ì·¨ê¸í©ëë¤. ê·¸ë¬ë ìë°ì¤í¬ë¦½í¸ìì ë¹ì´ ìì§ ìì 문ìì´ì ì¸ì ë trueì
ëë¤.
alert( Boolean("0") ); // true
alert( Boolean(" ") ); // ê³µë°±ì´ ìë 문ìì´ë ë¹ì´ìì§ ìì 문ìì´ì´ê¸° ë문ì trueë¡ ë³íë©ëë¤.
ìì½
문ì, ì«ì, ë ¼ë¦¬íì¼ë¡ì í ë³íì ì주 ì¼ì´ëë í ë³íì ëë¤.
문ìíì¼ë¡ ë³í ì 무ì¸ê°ë¥¼ ì¶ë ¥í ë ì£¼ë¡ ì¼ì´ë©ëë¤. String(value)ì ì¬ì©íë©´ 문ìíì¼ë¡ ëª
ìì ë³íì´ ê°ë¥í©ëë¤. ìì ìë£íì 문ìíì¼ë¡ ë³íí ë, ëë¶ë¶ ê·¸ 결과를 ììí ì ìì ì ëë¡ ëª
ìì ì¸ ë°©ìì¼ë¡ ì¼ì´ë©ëë¤.
ì«ìíì¼ë¡ ë³í ì ìí ê´ë ¨ ì°ì°ì ì£¼ë¡ ì¼ì´ë©ëë¤. Number(value)ë¡ë í ë³íì í ì ììµëë¤.
ì«ìíì¼ë¡ì ë³íì ë¤ì ê·ì¹ì ë°ë¦ ëë¤.
| ì ë¬ë°ì ê° | í ë³í í |
|---|---|
undefined |
NaN |
null |
0 |
true / false |
1 / 0 |
string |
ì ë¬ë°ì 문ìì´ì âê·¸ëë¡â ì½ë, ì²ìê³¼ ëì 공백ì 무ìí©ëë¤. 문ìì´ì´ ë¹ì´ìë¤ë©´ 0ì´ ëê³ , ì¤ë¥ ë°ì ì NaNì´ ë©ëë¤. |
ë¶ë¦°íì¼ë¡ ë³í ì ë
¼ë¦¬ ì°ì° ì ë°ìí©ëë¤. Boolean(value)ì¼ë¡ë ë³íí ì ììµëë¤.
ë¶ë¦°íì¼ë¡ì í ë³íì ë¤ì ê·ì¹ì ë°ë¦ ëë¤.
| ì ë¬ë°ì ê° | í ë³í í |
|---|---|
0, null, undefined, NaN, "" |
false |
| ê·¸ ì¸ì ê° | true |
í ë³í ì ì ì©ëë ê·ì¹ ëë¶ë¶ì ì´í´íê³ ê¸°ìµí기 ì¬ì´ í¸ì ìí©ëë¤. ë¤ë§ ìëë ìì¸ì ì¸ ê²½ì°ì´ê¸° ë문ì ì¤ì를 ë°©ì§í기 ìí´ ë°ë¡ 기ìµí´ ëëë¡ í©ìë¤.
- ì«ìíì¼ë¡ ë³í ì
undefinedë0ì´ ìëë¼NaNì´ ë©ëë¤. - 문ìì´
"0"ê³¼" "ê°ì 공백ì ë¶ë¦°íì¼ë¡ ë³í ì trueê° ë©ëë¤.
ì¬ê¸°ì ê°ì²´íì ë¤ë¥¸ íì ì¼ë¡ ë³ííë ê²ì ëí´ ë¤ë£¨ì§ ìììµëë¤. ì´ì ëí´ì ìë°ì¤í¬ë¦½í¸ì ëí 기본ì ì¸ íìµì´ ëë ì´í, ê°ì²´ë¥¼ ììíì¼ë¡ ë³íí기ìì íìµíëë¡ íê² ìµëë¤.
ëê¸
<code>í그를, ì¬ë¬ ì¤ë¡ 구ì±ë ì½ë를 ì½ì íê³ ì¶ë¤ë©´<pre>í그를 ì´ì©íì¸ì. 10ì¤ ì´ìì ì½ëë plnkr, JSBin, codepen ë±ì ìëë°ì¤ë¥¼ ì¬ì©íì¸ì.