substring() vs slice()
개요
문자열을 다루는 함수들을 종종 사용하게 되는데 그 중 substring 메서드와 slice 메서드는 동작이 비슷해서 사용할 때마다 헷갈림을 유발한다. 더이상 햇갈리지 않도록 핵심만 기록하려고 한다.
공통점
두 메서드는 숫자 한 개 또는 두 개를 파라미터로 받아서 일부의 문자열을 반환하는 메커니즘을 가지고 있다. 다음과 같은 경우일 때 두 메서드는 같은 결과를 반환환다.
파라미터가 한 개일 때 : first >= 0
파라미터가 두 개일 때 : first >= 0 && second >= 0 && second >= first
substring이나 slice는 보통 위와 같은 파라미터로 사용하기 때문에 이럴 경우 고민하지 말고 slice만 사용하자! 이유는 문자열의 경우 배열과 비슷한점이 많고 slice는 배열을 조작할 때도 사용하기 때문!
substring의 특징
- 파라미터로 음수(-)를 전달하면 0으로 취급한다.
- 첫 번째 파라미터보다 두 번째 파라미터가 클 경우 두 개의 파라미터의 위치가 서로 바뀐 경우와 같은 결과를 반환한다.
"012345".substring(1, 3) // "12"
"012345".substring(3, 1) // "12"
slice의 특징
- 파라미터로 음수(-)를 전달하면 역 index로 반환된다. (10자리 문자열일 경우 -1 === 9, -2 === 8 => index = length + 역 index
- 첫 번째 파라미터보다 두 번째 파라미터가 클 경우 빈 문자열을 반환한다.
Author And Source
이 문제에 관하여(substring() vs slice()), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@commitnpush/substring-vs-slice저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)