Slice와 substring의 공통점과 차이점
slice와 substring은 둘 다 JavaScript에서 문자열을 자르기 위한 메서드이지만, 두 메서드의 공통점도 있지만 차이점도 존재하여, 헷갈리지 않도록 정리해 보았다.
공통점
1. 문자열 자르기
slice와 substring은 둘 다 문자열을 특정 범위로 자르는데 사용된다.
2. 매개변수
두 메서드는 시작 인덱스와 종료 인덱스를 받아 범위를 지정한다.
3. 음수 인덱스
양수 또는 음수 모두를 사용하여 문자열의 뒤에서부터 인덱스를 지정할 수 있다.
차이점
1. 처리 방식
가장 큰 차이점 중 하나는 음수 인덱스를 다루는 방식이다.
slice: 음수 인덱스는 문자열의 끝에서부터의 상대적인 위치를 나타낸다.
substring: 음수 인덱스를 0으로 처리한다.
2.매개변수 처리
slice는 시작 인덱스가 종료 인덱스보다 클 경우 두 값을 서로 바꿔 처리한다.
substring은 시작 인덱스와 종료 인덱스 중 더 큰 값을 시작 인덱스로 사용한다.
3. 호환성
slice는 배열에서도 사용할 수 있으며, 배열의 일부를 추출할 때도 사용된다.
substring은 문자열에서만 작동한다.
4. null 및 undefined:
slice는 null 및 undefined를 가진 문자열에서도 동작한다.
substring은 null 및 undefined를 가진 문자열에서는 동작하지 않을 수 있다.
let str = "Hello, World!";
// slice 예제
console.log(str.slice(0, 5)); // "Hello"
console.log(str.slice(7, -1)); // "World"
console.log(str.slice(-6)); // "World!"
// substring 예제
console.log(str.substring(0, 5)); // "Hello"
console.log(str.substring(7, 1)); // "ello"
이러한 차이점을 고려하여 상황에 맞게 slice 또는 substring 중 하나를 선택할 수 있다.