고대 그리스의 시인 아르킬로코스(Archilochus)는 “여우는 사소한 것을 많이 알지만, 고슴도치는 중요한 것 한 가지를 안다.”라는 말을 남겼습니다. 위대한 역사가인 이사야 벌린(Isaiah Berlin)은 “생각하는 사람은 고슴도치 또는 여우로 나눌 수 있다.”라고 말하기도 했습니다. 문법에도 같은 관점을 적용할 수 있습니다.
앞서 살펴본 const
는 고슴도치입니다. const
는 변경할 수 없는 선언을 하는, 단 한 가지 일만 할 수 있습니다. 한 가지 기능만으로도 여러분의 코드를 읽기 쉽고 예측 가능하게 만들 수 있습니다. 앞으로 살펴볼 팁의 배열 메서드도 모두 고슴도치입니다. 각각의 배열 메서드는 배열에 한 가지 작업만 합니다. 하나뿐인 기능을 잘 수행하기 때문에 상세히 파고들지 않고도 안전하게 결과를 예측할 수 있습니다.
대부분의 경우 한 가지 기능을 잘하는 문법을 사용하는 것이 좋습니다. 그렇지만 때로는 유연함이 필요한 경우도 있습니다. 배열은 여러 가지 일을 해낼 수 있기 때문에 최고의 여우라고 할 수 있습니다. 사실 배열을 이용하면 정보 컬렉션에 필요한 거의 모든 작업을 처리할 수 있습니다. 더 중요한 것은 다양한 형태의 다른 컬렉션에서 배열과 관련된 개념을 사용한다는 점입니다.
예를 들어 'hedgehog'
이라는 문자열이 있다면, 여기에 일반적으로 배열에 적용하는 기능들 중 상당수를 적용할 수 있습니다. 먼저 문자열의 길이를 알 수 있습니다. 'hedgehog'.length
는 8
을 반환합니다. 또한, 색인으로 특정 글자를 고를 수도 있습니다. 'hedgehog'[3]
은 g
를 반환합니다. 그 외에도 전부 설명할 수 없을 정도로 다양한 메서드를 사용할 수 있습니다.