Arian Soleimanzadeh
  • 홈
  • 블로그
  • 팟캐스트
  • 비디오
  • 라이브러리
  • 문의
العربيةArabic
DeutschGerman
EnglishEnglish
فارسیPersian
한국어Korean
中文Chinese
패널•빠른 문의

Languages

Choose your interface locale

ar

العربية

Arabic

de

Deutsch

German

en

English

English

fa

فارسی

Persian

ko

한국어

Korean

zh

中文

Chinese

상담 예약

짧은 메시지를 남겨주세요 — 가능한 한 빠르게 답변드리겠습니다.

LinkedIn빠른 응답
Arian Soleimanzadeh

현대적인 웹 엔지니어링, UI 시스템, 실용적인 AI 제품에 집중한 개인 포트폴리오 — 깨끗한 코드, 명확한 디자인.

빠른 링크

  • 소개
  • 블로그
  • 라이브러리
  • 문의

문의

  • soleimanzadeh.a.work@gmail.com
  • soleimanzadeh.uni@gmail.com

가능 시간: 평일

보통 다음 시간 내에 답변합니다 24시간.

뉴스레터

글, 프로젝트, 새 릴리스에 대한 업데이트를 받아보세요.

© 2026 ariansoleimanzadeh.dev — 모든 권리 보유.

LinkedIn
JavaScript 라이브러리 / SUDHEERJ 인덱스

JavaScript 질문을 테스트처럼 만들지 말고 편하게 둘러보세요.

질문 하나를 선택해 완전한 답변, 코드 예제, 짧은 멘탈 모델 힌트를 한곳에서 읽으세요.

518인덱싱된 질문
518표시 중
JAVASCRIPTObjects & Prototypejunior
소스 질문 #1

What are the possible ways to create objects in JavaScript

읽기 관점

Start with the definition, then connect it to runtime behavior.

전체 소스 답변

상세 참고 설명

원본 소스 ↗

There are many ways to create objects in javascript as mentioned below:

1. Object literal syntax:

The object literal syntax (or object initializer), is a comma-separated set of name-value pairs wrapped in curly braces.

코드 예제javascript
var object = {
     name: "Sudheer",
     age: 34,
   };

Object literal property values can be of any data type, including array, function, and nested object.

Note: This is one of the easiest ways to create an object and it's most commonly used for creating simple, ad-hoc objects.

2. Object constructor:

The simplest way to create an empty object is using the `Object` constructor. Currently this approach is not recommended.

코드 예제javascript
var object = new Object();

The `Object()` is a built-in constructor function so "new" keyword is not required for creating plain objects. The above code snippet can be re-written as:

코드 예제javascript
var object = Object();

However, `Object()` can be used to either create a plain object or convert a given value into its corresponding object wrapper, whereas `new Object()` is specifically used to explicitly create a new object instance.

3. Object's create method:

The `create` method of Object is used to create a new object by passing the specified prototype object and properties as arguments, i.e., this pattern is helpful to create new objects based on existing objects. In other words, this is useful for setting up prototypal inheritance. The second argument is optional and it is used to create properties on a newly created object.

The following code creates a new empty object whose prototype is null.

코드 예제javascript
var object = Object.create(null);

The following example creates an object along with additional new properties.

코드 예제javascript
let vehicle = {
     wheels: "4",
     fuelType: "Gasoline",
     color: "Green",
   };
   let carProps = {
     type: {
       value: "Volkswagen",
     },
     model: {
       value: "Golf",
     },
   };
    var car = Object.create(vehicle, carProps);
   console.log(car);

4. Function constructor:

In this approach, create any function and apply the new operator to create object instances. This was the main way to do constructor-based OOP before ES6 classes.

코드 예제javascript
function Person(name) {
     this.name = name;
     this.age = 21;
   }
   var object = new Person("Sudheer");

5. Function constructor with prototype:

This is similar to function constructor but it uses prototype for their properties and methods. Using prototype means you're sharing methods/properties across instances, which saves memory and improve performance.

코드 예제javascript
function Person() {}
   Person.prototype.name = "Sudheer";
   var object = new Person();

This is equivalent to creating an instance with `Object.create` method with a function prototype and then calling that function with an instance and parameters as arguments.

코드 예제javascript
function func(x, y, z) {
    this.x = x;
    this.y = y;
    this.z = z;
   }
    var instance = new func(1, 2, 3);

(OR)

코드 예제javascript
function func(x, y, z) {
      this.x = x;
      this.y = y;
      this.z = z;
   }
   // Create a new instance using function prototype.
   var newInstance = Object.create(func.prototype);
    // Call the function
   var result = func.call(newInstance, 1, 2, 3);
    // If the result is a non-null object then use it otherwise just use the new instance.
   console.log(result && typeof result === 'object' ? result : newInstance);

6. Object's assign method:

The `Object.assign` method is used to copy all the properties from one or more source objects and stores them into a target object. This is mainly used for cloning and merging

The following code creates a new staff object by copying properties of his working company and the car he owns.

코드 예제javascript
const orgObject = { company: "XYZ Corp" };
   const carObject = { name: "Toyota" };
   const staff = Object.assign({}, orgObject, carObject);

7. ES6 Class syntax:

ES6 introduces class feature to create objects. This is syntactic sugar over the prototype-based system.

코드 예제javascript
class Person {
     constructor(name) {
       this.name = name;
     }
   }
    var object = new Person("Sudheer");

8. Singleton pattern:

A Singleton is an object which can only be instantiated one time. Repeated calls to its constructor return the same instance. This way one can ensure that they don't accidentally create multiple instances.

##### Singleton with Closure (Classic JS Pattern)

코드 예제javascript
const Singleton = (function () {
    let instance;
     function createInstance() {
      return { name: "Sudheer" };
    }
     return {
      getInstance: function () {
        if (!instance) {
          instance = createInstance();
        }
        return instance;
      }
    };
    })();
     // Usage
    const obj1 = Singleton.getInstance();
    const obj2 = Singleton.getInstance();
     console.log(obj1 === obj2); // true

In modern JavaScript applications, singletons are commonly implemented using ES6 modules for their built-in caching behavior, or closures for encapsulated state management.

1 / 518