ì°ë¦¬ë ìí ìê°ì ìëì ê°ì ë¤ìí ë¹êµ ì°ì°ìì ëí´ íìµí ë° ììµëë¤.
ìë°ì¤í¬ë¦½í¸ìì 기본 ìí ì°ì°ì ìëì ê°ì 문ë²ì ì¬ì©í´ ííí ì ììµëë¤.
- ë³´ë¤ í¼Â·ìì:
a > b,a < b - ë³´ë¤ í¬ê±°ë·ìê±°ë ê°ì:
a >= b,a <= b - ê°ì(ëë±):
a == b. ë±í¸=ê° ë ê° ì°ë¬ì ì¤ë ê²ì ì ìíì¸ì.a ââ= bì ê°ì´ ë±í¸ê° íëì¼ ëë í ë¹ì ì미í©ëë¤. - ê°ì§ ìì(ë¶ë±): ê°ì§ ììì ëíë´ë ìí 기í¸
âë ìë°ì¤í¬ë¦½í¸ììa != bë¡ ëíë ëë¤. í ë¹ì°ì°ì=ìì ëëí!를 ë¶ì¬ì íìí©ëë¤.
ì´ë² ê¸ìì ë¹êµ ì ì¼ì´ëë 기ì´í íìì í¬í¨íì¬ ë¤ìí ìë£íì ëìì¼ë¡ ìë°ì¤í¬ë¦½í¸ê° ì´ë»ê² ë¹êµë¥¼ íëì§ì ëí´ ë¤ë£° ìì ì ëë¤.
ê¸ ë§ë¯¸ìë ìë°ì¤í¬ë¦½í¸ììë§ ì¼ì´ëë â기ì´íâ íìì ì´ë»ê² ìë°©í ì ìëì§ì ëí´ì ì¸ê¸í´ëììµëë¤.
ë¶ë¦°í ë°í
ë¤ë¥¸ ì°ì°ìì ë§ì°¬ê°ì§ë¡ ë¹êµ ì°ì°ì ìì ê°ì ë°íí©ëë¤. ë°í ê°ì ë¶ë¦°íì ëë¤.
trueê° ë°íëë©´, âê¸ì â, âì°¸â, 'ì¬ì¤âì ì미í©ëë¤.falseê° ë°íëë©´, âë¶ì â, âê±°ì§â, 'ì¬ì¤ì´ ìëâì ì미í©ëë¤.
ìì:
alert( 2 > 1 ); // true
alert( 2 == 1 ); // false
alert( 2 != 1 ); // true
ë°íë ë¶ë¦°ê°ì ë¤ë¥¸ ì¬í ê°ì²ë¼ ë³ìì í ë¹ í ì ììµëë¤.
let result = 5 > 4; // ë¹êµ 결과를 ë³ìì í ë¹
alert( result ); // true
문ìì´ ë¹êµ
ìë°ì¤í¬ë¦½í¸ë âì¬ì â ìì¼ë¡ 문ìì´ì ë¹êµí©ëë¤. 'ì¬ì í¸ì§(lexicographical)'ìì´ë¼ê³ ë¶ë¦¬ê¸°ë íë ì´ ê¸°ì¤ì ì ì©íë©´ ì¬ì ë¤ìª½ì 문ìì´ì ì¬ì ì쪽ì 문ìì´ë³´ë¤ í¬ë¤ê³ íë¨ë©ëë¤.
ì¤ì ë¨ì´ë¥¼ ì¬ì ì ì¤ì ë ë¨ì´ë¥¼ 구ì±íë 문ì íëíë를 ë¹êµíì¬ ë±ì¬ ìì를 ì íë ê²ê³¼ ê°ì´ ìë°ì¤í¬ë¦½í¸ë 문ìì´ì 구ì±íë 문ì íëíë를 ë¹êµí´ê°ë©° 문ìì´ì ë¹êµí©ëë¤.
ìì:
alert( 'Z' > 'A' ); // true
alert( 'Glow' > 'Glee' ); // true
alert( 'Bee' > 'Be' ); // true
문ìì´ ë¹êµ ì ì ì©ëë ìê³ ë¦¬ì¦ì ë¤ìê³¼ ê°ìµëë¤.
- ë 문ìì´ì 첫 ê¸ì를 ë¹êµí©ëë¤.
- 첫 ë²ì§¸ 문ìì´ì 첫 ê¸ìê° ë¤ë¥¸ 문ìì´ì 첫 ê¸ìë³´ë¤ í¬ë©´(ìì¼ë©´), 첫 ë²ì§¸ 문ìì´ì´ ë ë²ì§¸ 문ìì´ë³´ë¤ í¬ë¤ê³ (ìë¤ê³ ) ê²°ë¡ ë´ê³ ë¹êµë¥¼ ì¢ ë£í©ëë¤.
- ë 문ìì´ì 첫 ê¸ìê° ê°ì¼ë©´ ë ë²ì§¸ ê¸ì를 ê°ì ë°©ìì¼ë¡ ë¹êµí©ëë¤.
- ê¸ì ê° ë¹êµê° ëë ëê¹ì§ ì´ ê³¼ì ì ë°ë³µí©ëë¤.
- ë¹êµê° ì¢ ë£ëìê³ ë¬¸ìì´ì 길ì´ë ê°ë¤ë©´ ë 문ìì´ì ëì¼íë¤ê³ ê²°ë¡ ë ëë¤. ë¹êµê° ì¢ ë£ëìì§ë§ ë 문ìì´ì 길ì´ê° ë¤ë¥´ë©´ 길ì´ê° 긴 문ìì´ì´ ë í¬ë¤ê³ ê²°ë¡ ë ëë¤.
ììì 'Z' > 'A'ë ì ìê³ ë¦¬ì¦ì 첫 ë²ì§¸ ë¨ê³ìì ë¹êµ ê²°ê³¼ê° ëì¶ë©ëë¤. ë°ë©´, 문ìì´ 'Glow'ì 'Glee'ë ë³µìì 문ìë¡ ì´ë£¨ì´ì§ 문ìì´ì´ê¸° ë문ì, ìëì ê°ì ììë¡ ë¬¸ìì´ ë¹êµê° ì´ë¤ì§ëë¤.
GëGì ê°ìµëë¤.lìlê³¼ ê°ìµëë¤.oëeë³´ë¤ í¬ê¸° ë문ì ì¬ê¸°ì ë¹êµê° ì¢ ë£ëê³ ,oê° ìë 첫 ë²ì§¸ 문ìì´'Glow'ê° ë í¬ë¤ë ê²°ë¡ ì´ ëì¶ë©ëë¤.
ìë°ì¤í¬ë¦½í¸ì 문ìì´ ë¹êµ ìê³ ë¦¬ì¦ì ì¬ì ì´ë ì íë²í¸ë¶ìì ì¬ì©ëë ì ë ¬ ìê³ ë¦¬ì¦ê³¼ ì주 ì ì¬íì§ë§, ìì í ê°ì§ ììµëë¤.
ì°¨ì´ì ì¤ íëë ìë°ì¤í¬ë¦½í¸ë ë·ì문ì를 ë°ì§ë¤ë ê²ì
ëë¤. ë문ì 'A'ì ì문ì 'a'를 ë¹êµíì ë ì문ì 'a'ê° ë í½ëë¤. ìë°ì¤í¬ë¦½í¸ ë´ë¶ìì ì¬ì©ëë ì¸ì½ë© íì¸ ì ëì½ëìì ì문ìê° ë문ìë³´ë¤ ë í° ì¸ë±ì¤ë¥¼ ê°ê¸° ë문ì´ì£ . ì´ì ê´ë ¨í ìì¸í ë´ì©ì 문ìì´ ì±í°ìì ë¤ë£¨ëë¡ íê² ìµëë¤.
ë¤ë¥¸ íì ê°ì§ ê° ê°ì ë¹êµ
ë¹êµíë ¤ë ê°ì ìë£íì´ ë¤ë¥´ë©´ ìë°ì¤í¬ë¦½í¸ë ì´ ê°ë¤ì ì«ìíì¼ë¡ ë°ê¿ëë¤.
ìì:
alert( '2' > 1 ); // true, 문ìì´ '2'ê° ì«ì 2ë¡ ë³íë í ë¹êµê° ì§íë©ëë¤.
alert( '01' == 1 ); // true, 문ìì´ '01'ì´ ì«ì 1ë¡ ë³íë í ë¹êµê° ì§íë©ëë¤.
ë¶ë¦°ê°ì ê²½ì° trueë 1, falseë 0ì¼ë¡ ë³íë í ë¹êµê° ì´ë¤ì§ëë¤.
ìì:
alert( true == 1 ); // true
alert( false == 0 ); // true
ëìì ì¼ì´ëì§ ìì ë²í ë ìí©ì´ ëìì ì¼ì´ëë ê²½ì°ë ììµëë¤.
- ëë± ë¹êµ(
==) ì true를 ë°íí¨ - ë
¼ë¦¬ íê° ì ê° íëë
true, ë¤ë¥¸ ê° íëëfalse를 ë°íí¨
ìì:
let a = 0;
alert( Boolean(a) ); // false
let b = "0";
alert( Boolean(b) ); // true
alert(a == b); // true!
ë ê°(aì b)ì ë¹êµíë©´ ì°¸ì´ ë°íëëë°, ê°ì ë
¼ë¦¬ íê°í í ë¹êµíë©´ íëë ì°¸, íëë ê±°ì§ì´ ë°íëë¤ë ì ì ê³ ê°ë¥¼ ê°¸ì°ë±í ìë ììµëë¤. ê·¸ë°ë° ìë°ì¤í¬ë¦½í¸ ê´ì ìì ì´ë° ê²°ê³¼ê° ì주 ìì°ì¤ë½ìµëë¤. ëë± ë¹êµ ì°ì°ì ==ë (ìììì 문ìì´ "0"ì ì«ì 0ì¼ë¡ ë³íìí¨ ê²ì²ë¼) í¼ì°ì°ì를 ì«ìíì¼ë¡ ë°ê¾¸ì§ë§, 'Booleanâì ì¬ì©í ëª
ìì ë³íìë ë¤ë¥¸ ê·ì¹ì´ ì¬ì©ë기 ë문ì
ëë¤.
ì¼ì¹ ì°ì°ì
ëë± ì°ì°ì(equality operator) ==ì 0ê³¼ false를 구ë³íì§ ëª»í©ëë¤.
alert( 0 == false ); // true
í¼ì°ì°ìê° ë¹ ë¬¸ìì´ì¼ ëë ê°ì 문ì ê° ë°ìíì£ .
alert( '' == false ); // true
ì´ë° 문ì ë ëë± ì°ì°ì ==ê° íì´ ë¤ë¥¸ í¼ì°ì°ì를 ë¹êµí ë í¼ì°ì°ì를 ì«ìíì¼ë¡ ë°ê¾¸ê¸° ë문ì ë°ìí©ëë¤. ë¹ ë¬¸ìì´ê³¼ falseë ì«ìíì¼ë¡ ë³ííë©´ 0ì´ ëì£ .
ê·¸ë ë¤ë©´ 0ê³¼ falseë ì´ë»ê² 구ë³í ì ììê¹ì?
ì¼ì¹ ì°ì°ì(strict equality operator) ===를 ì¬ì©íë©´ í ë³í ìì´ ê°ì ë¹êµí ì ììµëë¤.
ì¼ì¹ ì°ì°ìë ì격í(strict) ëë± ì°ì°ìì
ëë¤. ìë£íì ëë± ì¬ë¶ê¹ì§ ê²ì¬í기 ë문ì í¼ì°ì°ì aì bì íì´ ë¤ë¥¼ ê²½ì° a === bë ì¦ì false를 ë°íí©ëë¤.
ìì:
alert( 0 === false ); // false, í¼ì°ì°ìì íì´ ë¤ë¥´ê¸° ë문ì
ëë¤.
ì¼ì¹ ì°ì°ì ===ê° ëë± ì°ì°ì ==ì ì격í ë²ì ì¸ ê²ì²ë¼ âë¶ì¼ì¹â ì°ì°ì !==ë ë¶ë± ì°ì°ì !=ì ì격í ë²ì ì
ëë¤.
ì¼ì¹ ì°ì°ìë ëë± ì°ì°ìë³´ë¤ í ê¸ì ë 길긴 íì§ë§ ë¹êµ ê²°ê³¼ê° ëª íí기 ë문ì ìë¬ê° ë°ìí íë¥ ì ì¤ì¬ì¤ëë¤.
nullì´ë undefinedì ë¹êµí기
nullì´ë undefined를 ë¤ë¥¸ ê°ê³¼ ë¹êµí ë ììì¹ ìì ì¼ë¤ì´ ë°ìí©ëë¤. ì¼ë¨ ëª ê°ì§ ê·ì¹ì 먼ì ì´í´ë³¸ í, ì´ë¤ ììì¹ ìì ì¼ë¤ì´ ì¼ì´ëëì§ êµ¬ì²´ì ì¸ ìì를 íµí´ ì´í´ë³´ëë¡ íê² ìµëë¤.
- ì¼ì¹ ì°ì°ì
===를 ì¬ì©íì¬nullê³¼undefined를 ë¹êµ -
ë ê°ì ìë£íì´ ë¤ë¥´ê¸° ë문ì ì¼ì¹ ë¹êµ ì ê±°ì§ì´ ë°íë©ëë¤.
alert( null === undefined ); // false - ëë± ì°ì°ì
==를 ì¬ì©íì¬nullê³¼undefined를 ë¹êµ -
ëë± ì°ì°ì를 ì¬ì©í´
nullê³¼undefined를 ë¹êµíë©´ í¹ë³í ê·ì¹ì´ ì ì©ë¼trueê° ë°íë©ëë¤. ëë± ì°ì°ìënullê³¼undefined를 'ê°ë³í 커íâì²ë¼ ì·¨ê¸í©ëë¤. ë ê°ì ì기ë¤ë¼ë¦¬ë ì ì´ì¸ë¦¬ì§ë§ ë¤ë¥¸ ê°ë¤ê³¼ë ì ì´ì¸ë¦¬ì§ 못í©ëë¤.alert( null == undefined ); // true - ì°ì ì°ì°ìë 기í ë¹êµ ì°ì°ì
<,>,<=,>=를 ì¬ì©íì¬nullê³¼undefined를 ë¹êµ -
nullê³¼undefinedë ì«ìíì¼ë¡ ë³íë©ëë¤.nullì0,undefinedëNaNì¼ë¡ ë³í©ëë¤.
ì´ì ììì ì´í´ë³¸ ì¸ ê°ì§ ê·ì¹ë¤ì´ ì´ë¤ í¥ë¯¸ë¡ì´ ìì§ ì¼ì´ì¤(edge case)를 ë§ë¤ì´ë´ëì§ ììë´ ìë¤. ì´í, ì´ë»ê² íë©´ ìì§ ì¼ì´ì¤ê° ë§ë¤ì´ë´ë í¨ì ì ë¹ ì§ì§ ìì ì ììì§ì ëí´ ììë³´ê² ìµëë¤.
null vs 0
nullê³¼ 0ì ë¹êµí´ ë´
ìë¤.
alert( null > 0 ); // (1) false
alert( null == 0 ); // (2) false
alert( null >= 0 ); // (3) true
ì ë¹êµ ê²°ê³¼ë ë
¼ë¦¬ì ë§ì§ ìì ë³´ì
ëë¤. (3)ìì nullì 0ë³´ë¤ í¬ê±°ë ê°ë¤ê³ í기 ë문ì, (1)ì´ë (2) ì¤ íëë ì°¸ì´ì´ì¼ íëë° ë ë¤ ê±°ì§ì ë°ííê³ ìë¤ì.
ì´ë° ê²°ê³¼ê° ëíëë ì´ì ë ëë± ì°ì°ì ==ì 기í ë¹êµ ì°ì°ì <, >, <=, >=ì ëì ë°©ìì´ ë¤ë¥´ê¸° ë문ì
ëë¤. (1)ìì null > 0ì´ ê±°ì§ì, (3)ìì null >= 0ì´ ì°¸ì ë°ííë ì´ì ë (기í ë¹êµ ì°ì°ìì ëì ì리ì ë°ë¼) nullì´ ì«ìíì¼ë¡ ë³íë¼ 0ì´ ë기 ë문ì
ëë¤.
ê·¸ë°ë° ëë± ì°ì°ì ==ë í¼ì°ì°ìê° undefinedë nullì¼ ë í ë³íì íì§ ììµëë¤. undefinedì nullì ë¹êµíë ê²½ì°ìë§ true를 ë°ííê³ , ê·¸ ì´ì¸ì ê²½ì°(nullì´ë undefined를 ë¤ë¥¸ ê°ê³¼ ë¹êµí ë)ë 무조건 false를 ë°íí©ëë¤. ì´ë° ì´ì ë문ì (2)ë ê±°ì§ì ë°íí©ëë¤.
ë¹êµê° ë¶ê°ë¥í undefined
undefined를 ë¤ë¥¸ ê°ê³¼ ë¹êµí´ìë ì ë©ëë¤.
alert( undefined > 0 ); // false (1)
alert( undefined < 0 ); // false (2)
alert( undefined == 0 ); // false (3)
ì ìì를 ë³´ë©´ undefinedë 0ì ë§¤ì° ì«ì´íë ê²ì²ë¼ ë³´ì
ëë¤. íì false를 ë°ííê³ ìë¤ì.
ì´ë° ê²°ê³¼ë ìëì ê°ì ì´ì ë문ì ë°ìí©ëë¤.
(1)ê³¼(2)ììundefinedê°NaNì¼ë¡ ë³íëëë°(ì«ìíì¼ë¡ì ë³í),NaNì´ í¼ì°ì°ìì¸ ê²½ì° ë¹êµ ì°ì°ìë íìfalse를 ë°íí©ëë¤.undefinedënullì´ëundefinedì ê°ê³ , ê·¸ ì´ì¸ì ê°ê³¼ë ê°ì§ ì기 ë문ì(3)ìfalse를 ë°íí©ëë¤.
í¨ì í¼í기
ìì ê°ì ìì§ ì¼ì´ì¤ë¥¼ ì ì´í´ë³´ììê¹ì? ì´ë° ìì¸ì ì¸ ê²½ì°ë¥¼ ê¼ ê¸°ìµí´ ëê³ ìì´ì¼ë§ í ê¹ì? ê·¸ë ì§ë ììµëë¤. ê°ë°ì íë¤ ë³´ë©´ ìì°ì¤ë ì´ë° ê²½ì°ë¥¼ ë§ëê³ ì ì°¨ ìµìí´ì§ê¸° ë문ì ì§ê¸ ë¹ì¥ ì기í´ì¼ í íìë ììµëë¤. íì§ë§ ìëì ê°ì ë°©ë²ì ì¬ì©í´ ì´ë° ìì¸ ìí©ì 미리 ìë°©í ì ìë¤ë ì ì ììëì길 ë°ëëë¤.
- ì¼ì¹ ì°ì°ì
===를 ì ì¸í ë¹êµ ì°ì°ìì í¼ì°ì°ììundefinedënullì´ ì¤ì§ ìëë¡ í¹ë³í 주ìíì기 ë°ëëë¤. - ëí,
undefinedënullì´ ë ê°ë¥ì±ì´ ìë ë³ìê°<,>,<=,>=ì í¼ì°ì°ìê° ëì§ ìëë¡ ì£¼ìíì기 ë°ëëë¤. ëª íí ìë를 ê°ê³ ìì§ ìì ì´ì ë§ì´ì£ . ë§ì½ ë³ìê°undefinedënullì´ ë ê°ë¥ì±ì´ ìë¤ê³ íë¨ëë©´, ì´ë¥¼ ë°ë¡ ì²ë¦¬íë ì½ë를 ì¶ê°íì기 ë°ëëë¤.
ìì½
- ë¹êµ ì°ì°ìë ë¶ë¦°ê°ì ë°íí©ëë¤.
- 문ìì´ì 문ì ë¨ìë¡ ë¹êµëëë°, ì´ë ë¹êµ 기ì¤ì âì¬ì â ìì ëë¤.
- ìë¡ ë¤ë¥¸ íì ì ê°ì ë¹êµí ë ì«ìíì¼ë¡ í ë³íì´ ì´ë¤ì§ê³ ë í ë¹êµê° ì§íë©ëë¤(ì¼ì¹ ì°ì°ìë ì ì¸).
nullê³¼undefinedë ëë± ë¹êµ(==) ì ìë¡ ê°ì§ë§ ë¤ë¥¸ ê°ê³¼ë ê°ì§ ììµëë¤.nullì´ëundefinedê° ë íë¥ ì´ ìë ë³ìê°>ëë<ì í¼ì°ì°ìë¡ ì¬ ëë 주ì를 기ì¸ì´ì기 ë°ëëë¤.null,undefinedì¬ë¶ë¥¼ íì¸íë ì½ë를 ë°ë¡ ì¶ê°íë ìµê´ì ë¤ì´ê¸¸ ê¶ì í©ëë¤.
ëê¸
<code>í그를, ì¬ë¬ ì¤ë¡ 구ì±ë ì½ë를 ì½ì íê³ ì¶ë¤ë©´<pre>í그를 ì´ì©íì¸ì. 10ì¤ ì´ìì ì½ëë plnkr, JSBin, codepen ë±ì ìëë°ì¤ë¥¼ ì¬ì©íì¸ì.