RangeError: BigInt negative exponent
JavaScript ã®ä¾å¤ "BigInt negative exponent" ã¯ãBigInt ãè² ã® BigInt å¤ã§ã¹ãä¹ããã¨ãã«çºçãã¾ãã
ã¨ã©ã¼ã¡ãã»ã¼ã¸
RangeError: Exponent must be positive (V8-based) RangeError: BigInt negative exponent (Firefox) RangeError: Negative exponent is not allowed (Safari)
ã¨ã©ã¼ã®ç¨®é¡
RangeErrorã
ã¨ã©ã¼ã®åå
ã¹ã乿¼ç®å ã®ææ°ã¯æ£ã®å¤ã§ããå¿
è¦ãããã¾ããè² ã®ææ°ã¯åºã®éæ°ãåãããããã®çµæã¯ã»ã¨ãã©ã®å ´å -1 ãã 1 ã®éã«åã¾ãã0n ã«ä¸¸ãããã¦ãã¾ãã¾ãããããã誤ããæ¤åºãããããè² ã®ææ°ã¯è¨±å¯ããã¦ãã¾ãããã¹ãä¹ãè¡ãåã«ãææ°ã 0 以ä¸ã§ãããã¨ã確èªãã¦ãã ããã
ä¾
>è² ã® BigInt ãææ°ã¨ãã¦ä½¿ç¨ããå ´å
js
const a = 1n;
const b = -1n;
const c = a ** b;
// RangeError: BigInt negative exponent
代ããã«ãã¾ãææ°ãè² ã§ãããã©ããã確èªããããé©åãªã¨ã©ã¼ã¡ãã»ã¼ã¸ãåºããã0n ã undefined ãªã©ã®å¥ã®å¤ãè¿ãããã«ãã¦ãã ããã
js
const a = 1n;
const b = -1n;
const quotient = b >= 0n ? a ** b : 0n;