반응형
객체 정의(리터럴) 방법
- 리터럴 : 소스코드에 고정된 값을 말하는 대표적인 용어(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 |
최근댓글