반응형
객체 정의(리터럴) 방법
- 리터럴 : 소스코드에 고정된 값을 말하는 대표적인 용어(var v1 = 5; var v2 = "a"; 에서 5, "a" 값이 리터럴임)
- 아래 예제 에서 num에 할당된 1, func1, func2에 할당된 function() 이 리터럴 이라고 보면 됨
리터럴 객체 정의 예제
var obj = {
num: 1,
func1: function () {
//...
},
func2: function () {
//...
}
};
클로져 IIES 패턴 모듈
- 즉시 실행 함수(IIES) 패턴을 이용한 모듈 정의 방법
- 하나의 모듈만 미리 생성후 바로 사용 가능한 형태
var module = (function() {
// 은닉될 멤버 정의
var privateKey = 0;
function privateMethod() {
return privateKey++;
}
// 공개될 멤버(특권 메소드) 정의
return {
publicKey: privateKey,
publicMethod: function() {
return privateMethod();
}
}
})()
//바로 사용가능
console.log(module.publicMethod()); // 0
console.log(module.publicMethod()); // 1
클로져 생성자 패턴 모듈
- 사용시에 모듈을 생성한 뒤에 사용
- 복수의 모듈이 필요할 때 사용
var module = function() {
var privateKey = 0;
function privateMethod() {
return privateKey++;
}
return {
publicKey: privateKey,
publicMethod: function() {
return privateMethod();
}
}
}
//모듈 할당 후 사용
var obj1 = module();
console.log(obj1.publicMethod()); // 0
console.log(obj1.publicMethod()); // 1
//모듈 할당 후 사용
var obj2 = module();
console.log(obj2.publicMethod()); // 0
반응형
'웹 > javascript' 카테고리의 다른 글
Javascript 로딩바 동적 생성후 Show/Hide (0) | 2021.11.20 |
---|---|
Javascript 싱글톤 패턴 모듈, 모듈+네임스페이스 패턴 2개 (0) | 2021.11.18 |
Javascript Prototype(프로토타입) (0) | 2021.11.18 |
Javascript 즉시실행함수(IIFE), 클로져(Closure) (0) | 2021.11.18 |
Javascript Math, alert, confirm, prompt (0) | 2021.11.18 |
최근댓글