substr / substring / slice 차이

김한솔·2023년 3월 21일
0

substr()

str.substr(start[, length])

start 인덱스부터 length(길이)만큼의 문자를 반환한다.

MDN 페이지에서 사용하지 않는 것을 권하는 듯하다.
웬만하면 다른 메서드를 사용하는 것이 좋을 것 같다.

substring

str.substring(indexStart[, indexEnd])

start 인덱스와 end인덱스의 앞까지 문자를 반환한다.

const str = 'Mozilla';
console.log(str.substring(1, 3));
// Expected output: "oz"

slice

arr.slice([begin[, end]])

slice의 경우 배열에서 사용할 수 있는 메서드이다.
substring과 사용법은 같다.

substring vs slice

start > end 인 경우

substring() :
start 값과 end 값을 바꾸어서 처리합니다.

위 예제에서 substring(1, 0)은 실제로는 substring(0, 1)로 처리되어 string의 첫번째 글자 하나를 리턴합니다.

slice() :
그냥 비어있는 string, 즉 ""을 리턴합니다.

start, end 값이 음수인 경우

slice() :
string의 가장 뒤에서 음수의 절대값만큼 내려온 index로 취급한다.

substring() :
start값이나 end값이 음수인 경우 0으로 취급한다.

참고자료: https://hianna.tistory.com/340

profile
개린이입니다.

0개의 댓글