String.prototype.substr()
鿍奍;: ãã®æ©è½ã¯éæ¨å¥¨ã«ãªãã¾ãããã¾ã 対å¿ãã¦ãããã©ã¦ã¶ã¼ãããããããã¾ãããããã§ã«é¢é£ããã¦ã§ãæ¨æºããåé¤ããã¦ããããåé¤ã®æç¶ãä¸ã§ããããäºææ§ã®ããã ãã«æ®ããã¦ããå¯è½æ§ãããã¾ãã使ç¨ãé¿ããã§ããã°æ¢åã®ã³ã¼ãã¯æ´æ°ãã¦ãã ããããã®ãã¼ã¸ã®ä¸é¨ã«ããäºææ§ä¸è¦§è¡¨ãè¦ã¦å¤æãã¦ãã ããããã®æ©è½ã¯çªç¶åä½ããªããªãå¯è½æ§ããããã¨ã«æ³¨æãã¦ãã ããã
substr() 㯠String å¤ã®ã¡ã½ããã§ããã®æååã®ä¸é¨ããæå®ããä½ç½®ãã徿¹åã«æå®ããæåæ°ã ãè¿ãã¾ãã
ã¡ã¢:
substr() 㯠ECMAScript 仿§æ¸ã«ã¯ããã¾ãããä»é² B: ã¦ã§ããã©ã¦ã¶ã¼ã®ããã®è¿½å ECMAScript æ©è½ ã§å®ç¾©ããã¦ããããã©ã¦ã¶ã¼ä»¥å¤ã®ã©ã³ã¿ã¤ã ã§ã¯é常ãªãã·ã§ã³ã§ããå¾ã£ã¦ãã³ã¼ãã®ã¯ãã¹ãã©ãããã©ã¼ã ã®è¦ªåæ§ãæå¤§ã«ããã«ã¯ã代ããã«æ¨æºã® String.prototype.substring() ã¾ã㯠String.prototype.slice() ã¡ã½ããã使ç¨ããããå§ãããã¦ãã¾ããããã 3 ã¤ã®ã¡ã½ããã®æ¯è¼ã String.prototype.substring() page ã«ããã¾ãã
試ãã¦ã¿ã¾ããã
const str = "Mozilla";
console.log(str.substr(1, 2));
// äºæ³ãããçµæ: "oz"
console.log(str.substr(2));
// äºæ³ãããçµæ: "zilla"
æ§æ
substr(start)
substr(start, length)
弿°
start-
è¿å´ããé¨åæååã«å«ã¾ããæåã®æåã®ä½ç½®ã§ãã
lengthçç¥å¯-
åãåºãæåã®æ°ã§ãã
è¿å¤
æå®ãããæååã®æå®ãããé¨åãå ¥ã£ãæ°ããæååã§ãã
解説
æååã® substr() ã¡ã½ããã¯ããã®æååã® start ã®ã¤ã³ããã¯ã¹ãã length æååãæ°ãã¦æ½åºãã¾ãã
start >= str.lengthã§ããå ´åã空æååãè¿ããã¾ããstart < 0ã§ããå ´åãæååã®æ«å°¾ããæ°ããã¤ã³ããã¯ã¹ã«ãªãã¾ããå³å¯ã«ã¯ããã®å ´åã¯max(start + str.length, 0)ã§å§ã¾ãé¨åæååã«ãªãã¾ããstartãçç¥ããããundefinedã§ãã£ãå ´åã0ã¨ãã¦æ±ããã¾ããlengthãçç¥ããããundefinedã§ãã£ãå ´åãã¾ãã¯start + length >= str.lengthã§ãã£ãå ´åãsubstr()ã¯æååã®æ«å°¾ã¾ã§æåãæ½åºãã¾ããlength < 0ã®å ´åã空æååãè¿ããã¾ããstartã¨lengthã®ã©ã¡ãã§ããNaNã¯0ã¨ãã¦æ±ããã¾ãã
substr() ã®ä½¿ç¨ãé¿ãããã¨ãæ¨å¥¨ããã¾ãããã¬ã¬ã·ã¼ã³ã¼ãã«ãã㦠substr() ã slice() ã¾ã㯠substring() ã«ç§»è¡ããç°¡åãªæ¹æ³ã¯ããã¾ãããä¾ãã°ãstr = "01234", a = 1, l = -2 ã®å ´åãstr.substr(a, l), str.slice(a, a + l), str.substring(a, a + l) ã¯ãã¹ã¦ç°ãªãçµæãè¿ãã¾ãã substr() ã¯ç©ºæååãè¿ããslice() 㯠"123" ãè¿ããsubstring() 㯠"0" ãè¿ãã¾ããå®éã®ãªãã¡ã¯ã¿ãªã³ã°æ¹æ³ã¯ãa 㨠l ã®ç¯å²ã«é¢ããç¥èã«ä¾åãã¾ãã
ä¾
>substr() ã®ä½¿ç¨
const aString = "Mozilla";
console.log(aString.substr(0, 1)); // 'M'
console.log(aString.substr(1, 0)); // ''
console.log(aString.substr(-1, 1)); // 'a'
console.log(aString.substr(1, -1)); // ''
console.log(aString.substr(-3)); // 'lla'
console.log(aString.substr(1)); // 'ozilla'
console.log(aString.substr(-20, 2)); // 'Mo'
console.log(aString.substr(20, 2)); // ''
仿§æ¸
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-string.prototype.substr> |