[javascript] substr(), substring(), slice() 비교
코테 문제풀면서 비슷하면서도 서로 쓰는 방법이 다른 substr(), substring() , slice() 를 서로 비교하면서 정리해야겠다고 마음먹음.
substr()
string.substr(start, length)
substr() 은 문자열의 start index
부터 length
개만큼 문자열을 잘라내서 문자열을 반환하는 메서드다.
문자열의 인덱스는 0 부터 시작한다.
const str = 'string';
console.log(str.substr(1, 2));
// 결과값 : "tr" 문자열의 시작 index 는 0 이다.
console.log(str.substr(1, 1));
// 결과값 : "t"
console.log(str.substr(2));
// 결과값 : "ring" length 값을 넣지않으면 start 부터 문자열의 끝까지 잘라낸다.
substring()
string.substring(start, end)
substring()함수는 substr() 함수와 같이 특정 문자열을 잘라내여 반환한다.
substr() 함수와 다른 점은 매개변수로 잘라내고 싶은 문자열의 start index
와 last index
를 전달한다는 것이다.
substr() 함수와 마찬가지로 index는 0부터 시작한다.
const str = 'string';
console.log(str.substring(1, 2));
// 결과값 : "t" last index 의 값은 포함되지않는다.
console.log(str.substring(1));
// 결과값 : "tring" end 값을 입력하지 않을경우 start 부터 문자열의 끝까지 잘라낸다.
console.log(str.substring(2,2));
// 결과값 : "" start 와 end 가 같으면 빈 문자열을 반환한다.
slice()
string.slice(start, end)
slice() 함수는 substring() 과 사용법이 똑같다.
마찬가지로 start index
와 last index
를 전달한다.
const str = 'string';
console.log(str.slice(1, 2));
// 결과값 : "t" last index 의 값은 포함되지않는다.
console.log(str.slice(1));
// 결과값 : "tring" end 값을 입력하지 않을경우 start 부터 문자열의 끝까지 잘라낸다.
console.log(str.slice(2,2));
// 결과값 : "" start 와 end 가 같으면 빈 문자열을 반환한다.