start index부터 length 길이만큼 잘라낸다.
매개변수로 잘라내고 싶은 문자열의 start index와 last index를 전달
매개변수로 잘라내고 싶은 문자열의 start index와 last index를 전달
let alpha = "abcdefg";
console.log(alpha.substr(1, 3)); //bcd
console.log(alpha.substr(2, 3)); //cde
console.log(alpha.substring(1, 3)); //bc
console.log(alpha.substring(2, 3)); //c
console.log(alpha.slice(1, 3)); //bc
console.log(alpha.slice(2, 3)); //c
일반적으로 substring과 slice는 동작이 거의 유사하고 substr만 2번째 매개변수가 length라서 반복되는 상태를 유지하는 갯수를 찾는데 유리하다. (substring,slice는 매번 매개변수 2개를 전부 바꿔야하므로)
let alpha = "abcdefg";
console.log(alpha.substring(-3)); //abcdefg
console.log(alpha.slice(-3)); //efg
console.log(alpha.substring(-3, 3)); //abc
console.log(alpha.slice(3, -1)); //def
console.log(alpha.slice(3, 6)); //def
substring에서 start나 stop이 음수이거나 NaN이면 0을 사용한다.
=> 즉, 0으로 인식하여 처리한다.
slice의 경우 start가 음수면 뒷자리부터 생각하여 처리하고
end가 음수이면 뒷자리의 문자로 인식하여 그 이전까지 slice를 처리한다.
(end가 -1이라는 건 마지막자리인 g와 같고 이것은 end가 6인 것과 같으므로 마지막 2개의 결과는 같다.)
반복해서 문자열을 빼내는 것이면 2번째 매겨변수를 고정시키는 substr이 편하고 나머지는 slice를 이용하자