Javascript & Typescript
[Javascript] substring(), slice() 비교
zubetcha
2021. 11. 13. 14:48
substring(), slice() 비교
두 메소드는 문자열의 indexStart 부터 indexEnd 의 직전까지 부분 문자열을 반환한다는 공통점이 있지만 차이점 또한 존재함
1. indexStart > indexEnd, 시작 인덱스가 종료 인덱스보다 큰 경우
- substring() > indexStart 가 indexEnd 보다 큰 경우 두 위치를 바꿔서 처리함
- slice() > indexStart 가 indexEnd 보다 큰 경우 빈 문자열을 반환함
2. index < 0, 인덱스가 음수인 경우
- substring() > index 가 음수인 경우 index 를 0으로 처리
- slice() > index 가 음수인 경우에는 문자열의 끝에서부터 인덱스를 계산
- ex) 문자열의 마지막 인덱스는 음수로 표현하면 -1
let text = 'Mozilla';
console.log(text.slice(-5, 2)); // => ""
console.log(text.slice(-5, -2)); // => "zil" index -5 ~ -3 까지 반환
3. index == NaN, 인덱스가 숫자가 아닌 경우 (공통점)
- substring() > index 가 숫자가 아닌 경우 index 를 0으로 처리
- slice() > index 가 숫자가 아닌 경우 substring() 과 동일하게 index 를 0으로 처리