RangeError: repeat count must be less than infinity
JavaScript ã®ä¾å¤ "repeat count must be less than infinity" ã¯ã String.prototype.repeat() ã¡ã½ããã使ç¨ããã count 弿°ãç¡é大ã§ããå ´åã«çºçãã¾ãã
ã¨ã©ã¼ã¡ãã»ã¼ã¸
js
RangeError: argument out of range (Edge)
RangeError: repeat count must be less than infinity and not overflow maximum string size (Firefox)
RangeError: Invalid count value (Chrome)
ã¨ã©ã¼ã®ç¨®é¡
RangeError
ã¨ã©ã¼ã®åå
String.prototype.repeat() ã¡ã½ããã使ç¨ãã¦ãã¾ããcount 弿°ã¯ãæååã®ç¹°ãè¿ãåæ°ãæå®ãã¾ãã ãã㯠0 ããæ£ã® Infinity æªæºã®å¤ã§ããå¿
è¦ããããè² ã®æ°ã¯ä½¿ç¨ã§ãã¾ãããæå¹å¤ã®ç¯å²ã¯ [0, +â) ã®ããã«è¡¨ç¾ãããã¨ãã§ãã¾ãã
çµæã®æååã¯ãæååãµã¤ãºã®æå¤§å¤ä»¥ä¸ã«ã¯ã§ãã¾ããããã㯠JavaScript ã¨ã³ã¸ã³ã«ãã£ã¦ç°ãªãã¾ãã Firefox (SpiderMonkey) ã®æå¤§æååæ°ã¯ã 228 -1 ï¼0xFFFFFFFï¼ã§ãã
ä¾
>ç¡å¹ãªã±ã¼ã¹
js
"abc".repeat(Infinity); // RangeError
"a".repeat(2 ** 28); // RangeError
æå¹ãªå ´å
js
"abc".repeat(0); // ''
"abc".repeat(1); // 'abc'
"abc".repeat(2); // 'abcabc'
"abc".repeat(3.5); // 'abcabcabc' (count ã¯æ´æ°ã«å¤æããã¾ã)