나의 IT Note

[JavaScript] slice() 문자열 추출하기 - 자바스크립트 본문

JavaScript

[JavaScript] slice() 문자열 추출하기 - 자바스크립트

MaCoder 2021. 7. 31. 14:01

String.slice()

문자열에서 beginIndex부터 endIndex전까지의 문자들을 추출하여 반환하는 함수(endIndex가 없다면 문자열의 끝까지 추출 후 반환)

원본 문자열은 변경되지 않는다.

문법(Syntax)

str.slice(beginIndex[, endIndex])

매개변수(parameter)

1. beginIndex

  • 문자열에서 추출을 시작하는 index 위치(beginIndex부터 추출을 시작)
  • str.length보다 크거나 같으면 빈 문자열 반환
  • 음수인 경우 str.length + beginIndex로 계산하여 추출한다.(beginIndex가 -8이라면 11 + (-8) = 3)
  • str.length보다 크다면 빈 문자열 반환
  • 0이면 전체 문자열 반환
let str = 'hello world';
str.slice(8); // rld
str.slice(-8); // lo wolrd ➡ slice(3)
str.slice(100); // ''
str.slice(0); // hello world

2. endIndex(optional)

  • 문자열 추출 종료 index 위치(endIndex 전까지 추출)
  • endIndex가 없다면 문자열의 끝까지 추출 후 반환
  • endIndex가 beginIndex보다 작다면 빈 문자열 반환
  • 음수라면 str.length + endIndex로 계산하여 추출한다.(endIndex가 -2라면 11 + (-2) = 9)
  • endIndex가 str.length보다 크다면 문자열의 끝까지 반환
let str = 'hello world';
str.slice(2, 7); // llo w
str.slice(8, 2); // ''
str.slice(-1, -2); // ''
str.slice(1, -2); // ello wor ➡ slice(1, 9)
str.slice(-10, -2); // ello wor ➡ slice(1, 9)
str.slice(1, 100): // ello world

slice/substr/substring 비교

문자열 hello world
  fn(3) fn(-3) fn(0, 3) fn(3, 6) fn(6, 3) fn(-6, 3) fn(8, 8)
slice() lo world rld hel lo 빈 문자열 빈 문자열 빈 문자열
substr() lo world rld hel lo wor wor wo rld
substring() lo world hello world hel lo lo hel 빈 문자열
반응형
Comments