ãããè«çç©æ¼ç®å (&)
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æ.
ãããè«çç© (&) æ¼ç®åã¯ã両æ¹ã®ãªãã©ã³ãã®å¯¾å¿ãããããã®ããããã 1 ã§ããä½ç½®ã®ãããã§ 1 ãè¿ãã¾ãã
試ãã¦ã¿ã¾ããã
const a = 5; // 00000000000000000000000000000101
const b = 3; // 00000000000000000000000000000011
console.log(a & b); // 00000000000000000000000000000001
// äºæ³ãããçµæ: 1
æ§æ
x & y
解説
æ¼ç®å & ã¯æ°å¤ã¨é·æ´æ°ã® 2 種é¡ã®ãªãã©ã³ãã«å¯¾ãã¦ãªã¼ãã¼ãã¼ãããã¦ãã¾ããæ°å¤ã®å ´åãæ¼ç®å㯠32 ãããæ´æ°ãè¿ãã¾ããé·æ´æ°ã®å ´åãæ¼ç®åã¯é·æ´æ°ãè¿ãã¾ããã¾ãã両æ¹ã®ãªãã©ã³ããæ°å¤ã«å¤æ ãã¦ããããã®åããã¹ããã¾ãã両æ¹ã®ãªãã©ã³ããé·æ´æ°ã«ãªã£ãå ´åãé·æ´æ°ã® AND ãå®è¡ãã¾ããããã§ãªãå ´åã¯ã両æ¹ã®ãªãã©ã³ãã 32 ãããæ´æ°ã«å¤æãããããåä½ã® AND ãè¡ãã¾ãã䏿¹ã®ãªãã©ã³ããé·æ´æ°ã«ãªãããã䏿¹ãæ°å¤ã«ãªã㨠TypeError ãçºçãã¾ãã
ãã®æ¼ç®åã¯ããªãã©ã³ãã®ããã表ç¾ã 2 ã®è£æ°ã§æ¼ç®ãã¾ããæåã®ãªãã©ã³ãã®åãããã¯ã2 çªç®ã®ãªãã©ã³ãã®å¯¾å¿ãããããã¨ãã¢ã«ãªãã¾ãã第 1 ãããã¨ç¬¬ 1 ãããã第 2 ãããã¨ç¬¬ 2 ãããã¨ãã£ãå ·åã§ããæ¼ç®åã¯åãããã®ãã¢ã«é©ç¨ãããçµæã¯ããããã¨ã«æ§æããã¾ãã
ANDæ¼ç®ã®ççå¤è¡¨ã¯ä»¥ä¸ã®éãã§ãã
| x | y | x AND y |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
9 (10 鲿°) = 00000000000000000000000000001001 (2 鲿°)
14 (10 鲿°) = 00000000000000000000000000001110 (2 鲿°)
--------------------------------
14 & 9 (10 鲿°) = 00000000000000000000000000001000 (2 鲿°) = 8 (10 鲿°)
æ°å¤ã 32 ããããè¶ ããå ´åãæä¸ä½ããããåãæ¨ã¦ããã¾ããä¾ãã°ã次㮠32 ããããè¶ ããæ´æ°ã¯ã 32 ãããæ´æ°ã«å¤æããã¾ãã
Before: 11100110111110100000000000000110000000000001 After: 10100000000000000110000000000001
è¦å:
æ°å¤ãæ´æ°ã«åãè©°ããããã«ã& -1 ã使ç¨ãã人ãç®ã«ããããããã¾ãããä»»æã®æ°å¤ x 㨠-1 ããããåä½ã® AND æ¼ç®ã§çµåããã¨ãx ã 32 ãããæ´æ°ã«å¤æããå¤ãè¿ããã¾ãããå¤ã -2147483648 ãã 2147483647 ã®ç¯å²å¤ã®å ´åãå
é ã®ããããé¤å»ããããã¨ãããã¾ãã代ããã« Math.trunc() ã使ç¨ãã¦ãã ããã
é·æ´æ°ã®å ´åãåãæ¨ã¦ã¯çºçãã¾ãããæ¦å¿µçã«ã¯ãæ£ã®å¤ã®é·æ´æ°ã¯å
é ã«ç¡éã® 0 ãããããããè² ã®å¤ã®é·æ´æ°ã¯å
é ã«ç¡éã® 1 ãããããããã®ã¨çè§£ãã¦ãã ããã
ä¾
>ãããè«çç©ã®ä½¿ç¨
// 9 (00000000000000000000000000001001)
// 14 (00000000000000000000000000001110)
14 & 9;
// 8 (00000000000000000000000000001000)
14n & 9n; // 8n
仿§æ¸
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # prod-BitwiseANDExpression> |