← Back to NOTES 🌰 ← Effective JavaScript 🤿
← 아이템 55 - 키워드 인자를 위해 옵션 객체를 받아들여라
해당 API 동작이 프로그램의 상태 변화에 의존하지 않고 입력 값에만 의존하는 함수나 메서드를 제공하는 API를 말한다.
예시: String의 메서드 toUpperCase() - 'foo'.toUpperCase()는 항상 'FOO'를 반환
프로그램의 상태 변화에 의존하며, 상태에 따라 함수나 메서드가 다르게 동작하는 API를 말한다.
예시: Date 객체의 메서드들 - 동일한 Date 객체의 toString 메서드는 Date 프로퍼티가 다양한 설정 메서드들로부터 수정됨에 따라 그에 의존하여 다른 결과를 만듦
대표적인 상태 유지 API는 웹의 Canvas 라이브러리가 있다.
ctx.fillText("hello world", 75, 75);
// 캔버스 내 그릴 문자와 위치를 제공
하지만 글자 색상, 투명도, 글자 스타일과 같은 것들은 디폴트 값이 없어 따로 지정해야 한다.