우선 substring/ slice 둘다 마지막숫자 에서 -1을 하고 반환하는것은 같습니다.
substring() 은
substring(indexStart)
substring(indexStart, indexEnd)
이렇게2개로 사용되는데 End가 안쓰이면 Start index부터 끝까지 출력되며, End가 있으면 End-1 인덱스까지 출력됩니다.
참고>
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substring
slice에서 유의해야할것이 있는데 예를들면 slice(0, 2) 와 slice(0, -2)는 결과가 다르다는점
음수는 맨뒤에서 그 수만큼 제외하고 출력한다.
(0, 2)와 (0, -2)의 결과차이
splice() 는 간단히 생각하면 제거한부분에 채워넣거나 제거하고 나머지 출력이라고 생각하면 쉽습니다.
참고>
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/splice#0%EB%B2%88_%EC%9D%B8%EB%8D%B1%EC%8A%A4%EC%97%90%EC%84%9C_%EB%91%90_%EA%B0%9C_%EC%9A%94%EC%86%8C_%EC%A0%9C%EA%B1%B0%ED%95%98%EA%B3%A0_parrot_anemone_blue_%EC%B6%94%EA%B0%80
splice(start)
splice(start, deleteCount)
splice(start, deleteCount, item1)
splice(start, deleteCount, item1, item2)
splice(start, deleteCount, item1, item2, /* …, */ itemN)
또한 slice( -9,-6) 이렇게 있을때 slice 양수처럼 마지막 -6에서 +1한 숫자까지 가져온다
=> 즉, -9 ~ -5까지 가져옴