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