ë¹í¸ NOT (~)
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ìâ©.
ë¹í¸ NOT ì°ì°ì(~)ë í¼ì°ì°ìì ë¹í¸ë¥¼ ë°ì ìíµëë¤. ë¤ë¥¸ ë¹í¸ ì°ì°ìì ë§ì°¬ê°ì§ë¡ í¼ì°ì°ì를 32ë¹í¸ ì ìë¡ ë³íí©ëë¤.
ìëí´ ë³´ê¸°
const a = 5; // 00000000000000000000000000000101
const b = -3; // 11111111111111111111111111111101
console.log(~a); // 11111111111111111111111111111010
// Expected output: -6
console.log(~b); // 00000000000000000000000000000010
// Expected output: 2
구문
~a
ì¤ëª
í¼ì°ì°ìë 32ë¹í¸ ì ìë¡ ë³íëë©° ì¼ë ¨ì ë¹í¸(0ê³¼ 1)ë¡ ííë©ëë¤. 32ë¹í¸ë¥¼ ëì´ê°ë ì«ìë ìµìì ë¹í¸ë¥¼ 기ì¤ì¼ë¡ íì¬ ìì í©ëë¤. ì를 ë¤ì´ ë¤ìê³¼ ê°ì 32ë¹í¸ ì´ìì¸ ì ìë 32ë¹í¸ ì ìë¡ ë³íë©ëë¤.
Before: 11100110111110100000000000000110000000000001 After: 10100000000000000110000000000001
í¼ì°ì°ìì ê° ë¹í¸ë ë°ì ë©ëë¤.
NOT ì°ì°ì ëí ì§ë¦¬íë ë¤ìê³¼ ê°ìµëë¤.
| a | NOT a |
|---|---|
| 0 | 1 |
| 1 | 0 |
9 (base 10) = 00000000000000000000000000001001 (base 2)
--------------------------------
~9 (base 10) = 11111111111111111111111111110110 (base 2) = -10 (base 10)
32ë¹í¸ ì ì í¼ì°ì°ìë 2ì ë³´ìì ë°ë¼ ë°ì ë©ëë¤. ì¦, ìµìì ë¹í¸ë ììì¸ ì ì를 íííë ë° ì¬ì©í©ëë¤.
ì´ë¤ ì xì ëí´ NOT ë¹í¸ ì°ì°ì íë©´ -(x + 1)ì 결과를 ëì¶í©ëë¤. ì를 ë¤ë©´ ~-5ë 4ë¡ ê³ì°ë©ëë¤.
32ë¹í¸ ííì ì¬ì©í기 ë문ì ~-1ê³¼ ~4294967295 (232 - 1) ì ê²°ê³¼ê° ë ë¤ 0ì¼ë¡ ê³ì°ëë ì ì ì ìí´ì£¼ì¸ì.
ìì
>ë¹í¸ NOT ì°ì° ì¬ì©í기
~0; // -1
~-1; // 0
~1; // -2
ëª ì¸
| Specification |
|---|
| ECMAScript® 2026 Language Specification > # sec-bitwise-not-operator > |