본문 바로가기
TIL

싱글톤

by 은지:) 2024. 1. 28.
728x90
반응형

 

 

1. 하나의 객체 인스턴스만 존재함
2. 스테틱 함수로 객체 접근

 

class S {
	constructor() {
		if (S.instance) {
			return console.log('already instantiated');
		}
		S.instance = this;
		this.version = Date.now();
		this.config = 'test';
	}

	static getInstance() {
		if (!this.instance) {
			this.instance = new S();
		}
		return this.instance;
	}
}

const s1 = new S();
console.log(s1);
const s2 = new S();
console.log(s2);

 

s1 === s2

콘솔 찍어도 true 가 나옴

 

 

싱글톤을 한번 더 실행하려고 했을 때

두번째는 인스턴스가 생성이 되지 않음. 이미 싱글톤이 있다고 나옴

 

 

 

const s1 = S.getInstance();
console.log(s1);
const s2 = S.getInstance();
console.log(s2);

 

 

요거 찍어봤을 때

 

 

s1 === s2

콘솔 찍어도 true 가 나옴

 

 

 

장점

 

하나의 인스턴스에서 리소스를 관리할 수 있음

코드 중복을 관리할 수 있음

static 을 통해서 앱 전역에서 이 singleton 을 접근할 수 있음

 

 

 

728x90
반응형

'TIL' 카테고리의 다른 글

자바스크립트 메모리 관리 // 호이스팅, 스코프 체이닝  (2) 2024.01.28
static  (1) 2024.01.28
커링  (1) 2023.12.26
dart4 - class2  (0) 2023.12.10
dart4 - class1  (0) 2023.12.10

댓글