slice, substr, substring 비교
2023. 8. 28. 16:08ㆍ프로그래밍 언어/JavaScript
slice
slice(indexStart)
slice(indexStart, indexEnd)
substr (Deprecated)
substr(start)
substr(start, length)
- 첫번째 매개변수인 start는 탐색 구간의 시작점을 의미한다.
- start가 음수일 경우, 문자열의 뒤에서부터 가져온다.
- 두번째 매개변수인 length는 가져올 길이 값이며, 생략 가능하다.
- length를 생략할 경우, start에서부터 문자열 마지막까지를 가져온다.
- length 값이 음수일 경우 빈 값을 반환한다. (가져올 길이 값이 마이너스이므로 빈 값을 리턴)
ℹ️ Note: substr()
is not part of the main ECMAScript specification — it's defined in Annex B: Additional ECMAScript Features for Web Browsers, which is normative optional for non-browser runtimes. Therefore, people are advised to use the standard String.prototype.substring() and String.prototype.slice() methods instead to make their code maximally cross-platform friendly. The String.prototype.substring() page has some comparisons between the three methods.
현재 deprecated 되었으며, substring 또는 slice 사용을 권장하고있다.
substring
substring(indexStart)
substring(indexStart, indexEnd)
- start 부터 end 바로 앞 인덱스까지 잘라진 문자열을 반환한다.
- 두번째 매개변수인 indexEnd는 생략 가능하다.
- start 값이 end 값보다 크면 보다 작은 숫자가 시작위치로, 보다 큰 숫자가 종료위치로 세팅된다.
- 매개변수 둘 중 하나라도 값이 음수라면, 시작위치가 0으로 세팅된다.
- 매개변수 둘 다 값이 음수라면, 무조건 빈값을 반환한다.
example
const str = "parkgaebung"; | str.slice() | str.substr() | str.substring() |
function(7) | bung | bung | bung |
function(0, 7) | parkgae | parkgae | parkgae |
function(3, 7) | kgae | kgaebun | kgae |
function(7, 2) | bu | rkgae | |
function(-7) | gaebung | gaebung | parkgaebung |
function(-7, 2) | ga | pa | |
function(7, 7) | bung |
'프로그래밍 언어 > JavaScript' 카테고리의 다른 글
논리 부정 연산자 - 느낌표 한 개(!)와 두 개(!!) (1) | 2023.10.11 |
---|---|
디바운싱과 쓰로틀링 (0) | 2023.08.03 |
이벤트 전달 방식 (0) | 2022.09.26 |
클로저(Closure) (0) | 2022.09.22 |
호이스팅(Hoisting) (0) | 2022.09.22 |