Yoon.s

[javascript] substr(), substring(), slice() 비교 본문

프론트/Javascript

[javascript] substr(), substring(), slice() 비교

yo_onHJ 2020. 9. 9. 00:57

'가운데 글자 가져오기' 문제를 풀다가 substr()를 알게 되면서 정리해보고

다른 유사한 함수들과 어떠한 차이가 있는 지 알기 위해서 작성해보았습니다. 

 

substr()

str.substr(start, [length])

문자열에서 특정 위치(start)에서 시작하여 특정 문자 수(length) 만큼의 문자들을 반환하는 함수

  • start의 시작번호는
const str = 'Mozilla';

console.log(str.substr(1, 2));
// expected output: "oz"

console.log(str.substr(2));
// expected output: "zilla"
  • str.substr(1, 2)는 1번자리부터 2글자 : oz
  • str.substr(2)는 2번자리부터 끝까지 : zilla

 

substring()

str.substring(indexStart, [indexEnd])

string 객체의 시작 인덱스로부터 종료 인덱스 전까지 문자열의 부분 문자열을 반환하는 함수

  • 시작 위치는 0
  • indexEnd로 지정된 번호는 포함하지 않음
const str = 'Mozilla';

console.log(str.substring(1, 3));
// expected output: "oz"

console.log(str.substring(2));
// expected output: "zilla"
  • str.substring(1,3)은 1번부터 2번자리까지(3번은 포함x) 출력
  • str.substring(2)는 2번자리부터 끝까지 출력

 

slice()

str.slice(begin, [end])

어떤 배열의 start부터 end까지에 대한 얕은 복사본을 새로운 배열 객체로 반환(원본 바뀌지 않음)

  • end는 미포함
const animals = ['ant', 'bison', 'camel', 'duck', 'elephant'];

console.log(animals.slice(2));
// expected output: Array ["camel", "duck", "elephant"]

console.log(animals.slice(2, 4));
// expected output: Array ["camel", "duck"]
  • animals.slice(2)는 배열에서 2번째 자리부터 쭉 가져와 새로운 배열로 반환
  • animals.slice(2, 4)는 배열에서 2번째 자리부터 3번째 자리(4번째는 미포함)의 값만 가져와 새로운 배열로 반환

 

 

 

 

참조사이트.

developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/substr

developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/substring

developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/slice

 

'프론트 > Javascript' 카테고리의 다른 글

[javascript] split(), sort(), reverse(), join() 함수  (0) 2020.09.23
[javascript] filter 함수  (0) 2020.09.07
[javascript] reduce() 함수  (1) 2020.09.02
Comments