String 길이 알아내기(w/o length property)

String의 Length 속성을 사용하면 쉽게 string의 길이를 알 수 있습니다.

하지만, length 속성을 사용하지 않고 어떻게 알아낼 수 있을까요?

바로, String의 slice() 메소드를 사용할 수 있습니다.

function stringLength(string) {
  var length = 0;
  for (var i = 0; string.slice(i) != ''; i++) {
    length += 1;
  }
  return length;
}

stringLength('dog'); // => 3

String.slice() Method는 String의 일부 또는 전체 문자를 추출하여 새로운 문자열을 생성합니다. Parameter로는 문자를 추출할 시작 index값, 두 번째 Parameter로는 end index값을 받습니다. 음수를 받을 경우 (strLength - 숫자)로 실행됩니다. (feat. MDN)

위의 코드를 다시 보면, i = 0 ; string.slice(0) -> 'dog' ; i++ -> 1    => length = 1 i = 1 ; string.slice(1) -> 'og' ; i++ -> 2    => length = 2 i = 2 ; string.slice(2) -> 'g' ; i++ -> 3    => length = 3 i = 3 ; string.slice(3) -> ''        ==> false로 for문 종료 return 값으로 변수 length의 값 3

위와 같이 slice() 메소드를 사용해 String의 문자열 길이를 알아봤습니다.

저는 이제 막 배우기 시작했고, 초보이기에 다른 여러 방법도 저에게 알려주시면 너무 감사하겠습니다.