[JavaScript] 인스턴스 생성 패턴

Introduction

자바스크립트는 일반 함수와 생성자 함수의 구분이 별도로 존재하지 않으므로 생성자 함수로 사용할 함수는 첫 글자를 대문자로 표기하는 네이밍 규칙을 가진다. 또한 new를 사용해 호출하지 않을경우 오류가 발생할 수 있으므로 다음과 같은 패턴을 사용한다.

1
2
3
4
5
6
7
8
9
10
11
12
function A(arg) {
if(!(this instanceof A))
return new A(arg);
this.value = arg ? arg : 0;
}

var a = new A(100);
var b = A(10);

console.log(a.value);
console.log(b.value);
console.log(global.value);
1
2
3
100
10
undefined
Author: Song Hayoung
Link: https://songhayoung.github.io/2020/07/12/Languages/JS/instance-creation-pattern/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.