자바스크립트 함수 substr(), substring(), slice()

Daniel·2023년 4월 25일
0

JavaScript에서 .substr() & .substring() & .slice() 는 모두 문자열을 잘라주는 역할을 합니다.
비슷하지만 조금 다른 세 함수를 비교해 보려한다.

substr()

String.substr(startIndex, length);

let str = '안녕하세요';

str.substr(0, 1); // 안
str.substr(1, 1); // 녕
str.substr(2, 3); // 하세요
str.substr(2); // 하세요

매개변수로 받은 startIndex 부터 length 길이만큼 문자열을 잘라 반환
첫번째 매개변수로 음수가 온다면, 뒤에서부터...

substring()

String.substring(startIndex, endIndex);

let str = '안녕하세요'

str.substring(0, 1); // 안
str.substring(1, 1); // ''
str.substring(1, 2); // 녕
str.substring(2, 3); // 하
str.substring(2); // 하세요

매개변수로 받은 startIndex 부터 endIndex 이전까지 잘라 반환(endIndex 위치의 문자는 포함되지 않는다.)
첫번째 매개변수로 음수가 온다면, startIndex 값은 0으로 취급된다.

slice()

substring() 과 사용법이 같다.

첫번째 매개변수로 음수가 온다면, 뒤에서부터...
start 또는 end 가 음수이고, 음수의 절대값이 해당 String의 길이보다 클때 : 음수는 단순히 0으로 처리된다.

subString() vs slice()

  • start > end
    substring() : start 값과 end 값이 바꾸어 처리
    slice() : 비어있는 String, 즉 ''를 반환한다.

  • start 또는 end 음수일 경우
    substring() : start값이 음수인 경우, start값은 0으로 취급
    slice() : string의 가장 뒤에서 음수의 절대값만큼 내려온 index로 취급

profile
응애 나 애기 개발자

0개의 댓글