초기화 시점의 분기
초기화 시점의 분기는 최적화 패턴이다. 어떤 조건이 프로그램의 생명주기 동안 변경되지 않는게 확실할 경우 조건을 단 한 번만 확인하는것이 바람직하다. 브라우저 탐지가 전형적인 예다.
DOM 엘리먼트의 계산된 스타일을 확인하거나 이벤트 핸들러를 붙이는 작업도 초기화 시점 분기 패턴의 이점을 살릴 수 있는 또 다른 후보들이다.
// 인터페이스
var utils = {
addListener : null,
removeListener : null
};
// 구현
if(typeof window.addEventListener === 'function'){
utils.addListener = function(el, type, fn){
el.addEventListener(type, fn, false);
};
utils.removeListener = function(el, type, fn){
el.removeEventListener(type, fn, false);
};
} else if (typeof document.attechEvent === 'function'){ // ie
utils.addListener = function(el, type, fn){
el.attachEvent('on' + type, fn);
};
utils.removeListener = function(el, type, fn){
el.detachEvent('on' + type, fn);
};
} else { // 구형 브라우저
utile.addListener = function(el, type, fn){
el['on' + type] = fn;
};
utils.removeListener = function(el, type, fn){
eel['on' + type] = null;
};
}
'개발 > dev-patterns' 카테고리의 다른 글
자바스크립트 코딩 기법과 핵심 패턴 - 설정 객체 패턴 (0) | 2019.08.09 |
---|---|
자바스크립트 코딩 기법과 핵심 패턴 - 함수 프로퍼티(메모이제이션) (0) | 2019.08.06 |
자바스크립트 코딩 기법과 핵심 패턴 - 즉시 객체 초기화 (0) | 2019.08.06 |
자바스크립트 코딩 기법과 핵심 패턴 - 즉시 실행 함수 (0) | 2019.08.06 |
자바스크립트 코딩 기법과 핵심 패턴 - 자기 자신을 정의하는 함수 (0) | 2019.08.06 |