ì¼ìª½ ìíí¸ (<<)
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since 2015ë 7ì.
ì¼ìª½ ìíí¸ (<<) ì°ì°ìë 첫 ë²ì§¸ í¼ì°ì°ì를 ëª
ìë ë¹í¸ ì(32ì ë머ì§)ë§í¼ ì¼ìª½ì¼ë¡ ì´ëí©ëë¤. ì¼ìª½ì¼ë¡ ì´ëë ì´ê³¼ ë¹í¸ë í기ë©ëë¤. ì¤ë¥¸ìª½ì ìì§ì¸ ë¹í¸ ì ë§í¼ 0ë¹í¸ë¡ ì±ìì§ëë¤.
ìëí´ ë³´ê¸°
const a = 5; // 00000000000000000000000000000101
const b = 2; // 00000000000000000000000000000010
console.log(a << b); // 00000000000000000000000000010100
// Expected output: 20
구문
a << b
ì¤ëª
ì´ ì°ì°ìë 첫 ë²ì§¸ í¼ì°ì°ì를 ëª ìí ë¹í¸ ìë§í¼ ì¼ìª½ì¼ë¡ ì´ëí©ëë¤. ì¼ìª½ì¼ë¡ ì´ëë ì´ê³¼ ë¹í¸ë í기ë©ëë¤. ì¤ë¥¸ìª½ì ìì§ì¸ ë¹í¸ ì ë§í¼ 0 ë¹í¸ë¡ ì±ìì§ëë¤.
ì를 ë¤ì´, 9 << 2ì 36ì´ ëì¶ë©ëë¤.
9 (10ì§ì): 00000000000000000000000000001001 (2ì§ì)
--------------------------------
9 << 2 (10ì§ì): 00000000000000000000000000100100 (2ì§ì) = 36 (10ì§ì)
ììì ì«ì x를 ì¼ìª½ì¼ë¡ yë¹í¸ ë¨ìë¡ ì´ëíë©´ x * 2 ** yì
ëë¤. ê·¸ëì ì를 ë¤ì´
9 << 3ì 9 * (2 ** 3) = 9 * (8) = 72ì¼ë¡ í´ìë©ëë¤.
ì¼ìª½ í¼ì°ì°ìë 32ë¹í¸ ì ìë¡ ë³íë©ëë¤. ì¦, ë¶ë ììì ì«ìë ìë¦¬ê³ 32ë¹í¸ ê²½ê³ ë´ì ìì§ ìì ì«ìë ì¤ë²íë¡ì°/ì¸ëíë¡ì°ë©ëë¤.
ì¤ë¥¸ìª½ í¼ì°ì°ìë ë¶í¸ ìë 32ë¹í¸ ì ìë¡ ë³íë ë¤ì 32 ëë¨¸ì§ ì°ì°ì ê°ì ê°ì ¸ì¤ë¯ë¡ ì¤ì ìíí¸ ì¤íì
ì íì 0ìì 31 ì¬ì´ì
ìì ì ìì
ëë¤. ì를 ë¤ì´, 100 << 32ë 100 << 0ê³¼ ëì¼(ì´ ê²°ê³¼ê°ì 100ì
ëë¤)í©ëë¤. 32 ëë¨¸ì§ ì°ì°ì
0ì´ê¸° ë문ì
ëë¤.
ìì
>ì¼ìª½ ìíí¸ ì¬ì©í기
9 << 3; // 72
// 9 * (2 ** 3) = 9 * (8) = 72
ëª ì¸ì
| Specification |
|---|
| ECMAScript® 2027 Language Specification > # sec-left-shift-operator > |