[TIS]내가 정리해보는 slice() vs substring()의 차이

Violet Lee·2020년 8월 1일
0

javascript

목록 보기
4/24

slice()

: begin과 end의 인덱스까지 문자열 추출

  • beginIndex : 기본 0. 만약 begin >= str.length 라면, '빈 문자열' 반환.
    array의 slice() 와는 달리, start 생략 불가능. 생략하거나 undefined 넣을 시, '0' 반환.
  • endsIndex : 기본 0. 기본적으로 end의 index에 해당하는 글자는 포함하지 않는다.생략되면 begin부터 마지막 문자'전'까지 추출.
 ex) let str = 'Hello';
  • 둘 다 양수인 경우 : str.slice(0,3); //'Hell'

  • 어느 한쪽이라도 음수인 경우 : [음수인 인덱스에 문자열.length + index]

    ex) str.slice(2, -1);
    // 5+(-1)=4 이고, 마지막인덱스는 제외하므로 'll'
    ex) str.slice(-3);
    // 문자열의 끝을 0으로 두고 start로 취급한뒤,
    start부터 두번째글자(맨 뒤에서 두번째)까지 추출. 'llo'

  • begin과 end값이 같은 경우: '빈 문자열' 반환


substring()

: begin과 end의 인덱스까지 문자열 추출

  • begin이 end보다 값이 큰 경우, end의 값이 start가, start가 end가 된다.
  • begin,end가 0 이하, 또는 NaN인 경우 0으로 처리된다. 음수를 사용하기 힘들다..
  • begin, end가 str.length보다 큰 경우 length가 리턴된다.

...외에는 slice()와 사용이 같다.

모든 내용은 계속해서 업데이트 됩니다.
초보 개발자 준비생이라 공부한 내용이 아직 많이 부족합니다.
언제든지 제 블로그의 글 내용에 대해 지적해주고, 의견 남겨주세요.
함께 성장합시다. :)

++ 아니, 다른 언어랑 같은 이름의 비슷한 기능을 가진 메소드를 여러개 만드니 헷갈린다..
한 메소드에 모든 기능을 넣는게 좋지 않았을까..? 한 메소드는 모든기능이 충족되고, 다른 한 메소드는 불완전한 기능을 넣었다면.. 정확히 그 메소드가 사용되기 좋은곳아니면 사용할 일이 적을것같다 내 생각엔🤔😥 내가 아직 substring()의 장점을 모르는걸수도 있을테니, 일단 생각은 여기서 멈추고.. 자 계속해서 포스팅이닷!

profile
예비개발자

0개의 댓글