← Back to NOTES 🌰 ← Effective JavaScript 🤿
← 아이템 57 - 유연한 인터페이스를 위해 구조화된 형식을 사용하라
메서드가 다양한 타입의 인자를 받을 수 있도록 설계할 때, 각 타입을 정확히 구별해야 한다.
예를 들어 BitVector.prototype.enable() 메서드가:
둘 다 받을 수 있다면 메서드 오버로딩이 필요하다.
문자열일 경우 인자가 배열인지 확인하는 코드를 생략할 경우가 있다. 인자에 따른 확인 코드 작성이 필요하다.
자바스크립트의 배열은 객체이기 때문에 배열과 객체의 구분이 아니라 배열이 아닌 객체에서 배열 객체를 구분해내는 것이 올바른 동작이다.