반환문자열의 시작 인덱스
반환문자열의 종료 인덱스 (포함하지 않음) 옵션
indexEnd 가 없으면 substring() 문자열의 끝까지 모든 문자를 추출한다.
indexStart 가 indexEnd와 같으면 substring() 빈 문자열을 반환한다.
indexStart 가 indexEnd보다 크면 substring() 메서드는 마치 두 개의 인자의 위치를 바꾼 듯이 처리한다.
let str ='abcdefghi'
console.log(str.substring(4,6)); //'ef'
//indexEnd가 indexStart보다 큰 경우
console.log(str.substring(6,4)); //'ef' 위와 동일해 짐
//indexEnd가 없는 경우
console.log(str.substring(4)); //'efghi' indexStart부터 끝까지
//indexStart가 indexEnd가 같은 경우
console.log(str.substring(4,4)); //'' 빈 문자열
반환할 부분 문자열의 시작인덱스
음수값을 사용할 경우 str.length + start 값이다. (Microsoft의 JScript에선 start에 음수 값을 지원하지 않는다.)
반환할 부분 문자열의 총 개수
let str ='abcdefghi'
console.log(str.substr(4,2)); //'ef'
//length가 없는 경우
console.log(str.substr(4)); //'efghi' start부터 끝까지
//length가 0인 경우
console.log(str.substr(4,0)); //'' 빈 문자열
반환문자열의 시작 인덱스
음수값을 사용할 경우 str.length + beginIndex 값이다.
만약 beginIndex가 str.length 보다 크거나 같은 경우, slice()는 빈 문자열을 반환한다.
반환문자열의 종료 인덱스 (포함하지 않음) 옵션
endIndex가 없다면, silce()는 문자열 마지막까지 추출한다
음수값이라면, endIndex는 str.length + endIndex 로 취급됩니다(예를 들어 endIndex가 -3이면 종료점은 strLength - 3).
let str ='abcdefghi'
console.log(str.slice(4,6)); //'ef'
//endIndex가 beginIndex보다 큰 경우 (substring()과 차이점)
console.log(str.slice(6,4)); //'' 빈 문자열
//endIndex가 없는 경우
console.log(str.slice(4)); //'efghi' beginIndex부터 끝까지
//beginIndex와 endIndex가 같은 경우
console.log(str.slice(4,4)); //'' 빈 문자열