문자열을 다루는 함수들을 종종 사용하게 되는데 그 중 substring 메서드와 slice 메서드는 동작이 비슷해서 사용할 때마다 헷갈림을 유발한다. 더이상 햇갈리지 않도록 핵심만 기록하려고 한다.
두 메서드는 숫자 한 개 또는 두 개를 파라미터로 받아서 일부의 문자열을 반환하는 메커니즘을 가지고 있다. 다음과 같은 경우일 때 두 메서드는 같은 결과를 반환환다.
파라미터가 한 개일 때 : first >= 0
파라미터가 두 개일 때 : first >= 0 && second >= 0 && second >= first
substring이나 slice는 보통 위와 같은 파라미터로 사용하기 때문에 이럴 경우 고민하지 말고 slice만 사용하자! 이유는 문자열의 경우 배열과 비슷한점이 많고 slice는 배열을 조작할 때도 사용하기 때문!
"012345".substring(1, 3) // "12"
"012345".substring(3, 1) // "12"