source

{} 또는 새 Object()를 사용하여 JavaScript에서 빈 개체를 생성하시겠습니까?

gigabyte 2022. 9. 18. 10:13
반응형

{} 또는 새 Object()를 사용하여 JavaScript에서 빈 개체를 생성하시겠습니까?

JavaScript에서 빈 개체를 만드는 방법은 두 가지가 있습니다.

var objectA = {}
var objectB = new Object()

스크립트 엔진의 처리 방법에 차이가 있습니까?둘 다 써야 할 이유가 있나요?

마찬가지로 다른 구문을 사용하여 빈 배열을 작성할 수도 있습니다.

var arrayA = []
var arrayB = new Array()

물건들

를 사용해도 아무런 이점이 없습니다.new Object(); - 면 - -{};코드를 보다 콤팩트하고 읽기 쉽게 만들 수 있습니다.

빈 객체의 정의에 대해서는 기술적으로 동일합니다.{}구문은 더 짧고 깔끔하며(Java-ish가 적음) 다음과 같이 개체를 즉시 인라인에 채울 수 있습니다.

var myObject = {
        title:  'Frog',
        url:    '/img/picture.jpg',
        width:  300,
        height: 200
      };

어레이

어레이도 마찬가지로 사용해도 거의 이점이 없습니다.new Array();에 걸쳐서[];단, 과 같은 예외는 없습니다.- 「 」 「 」 。

var emptyArray = new Array(100);

는, 「100」을 포함한 합니다.undefined- 상황에 따라서는 적절하거나 적절할 수 있습니다(예:(new Array(9)).join('Na-Na ') + 'Batman!'를 참조해 주세요.

추천할 만한 것

  1. 사용하지 .new Object();더요 - 더 투박해요{};바보 같아 보여.
  2. 「」를 사용합니다.[]; 미리 을 빨리 합니다. - "빈" 배열을 만들어야 합니다.

네, 차이가 있어요. 같지 않아요.같은 결과를 얻을 수 있는 것은 사실이지만, 양쪽의 엔진은 다른 방식으로 작동합니다.그 중 하나는 오브젝트 리터럴이고 다른 하나는 Javascript에서 오브젝트를 만드는 두 가지 다른 방법인 컨스트럭터입니다.

var objectA = {} //This is an object literal

var objectB = new Object() //This is the object constructor

JS에서는 모든 것이 오브젝트이지만 새로운 오브젝트()에서는 다음 사항에 유의해야 합니다.매개 변수를 수신할 수 있으며, 매개 변수에 따라 문자열, 숫자 또는 빈 개체만 생성됩니다.

를 들면, '먹다'와 같이요.new Object(1)을 사용하다 new Object("hello")는 문자열을 반환합니다.즉, 오브젝트 생성자는 파라미터에 따라 오브젝트 생성을 문자열, 번호 등의 다른 생성자에게 위임할 수 있습니다.개체를 만들기 위해 동적 데이터를 관리할 때는 이 점에 유의해야 합니다.

많은 저자들은 특정 리터럴 표기법을 대신 사용할 수 있는 경우 오브젝트 컨스트럭터를 사용하지 말 것을 권장합니다.이 경우 작성하려는 내용이 코드에 포함되어 있어야 합니다.

자세한 내용은 javascript에서 리터럴 표기법과 컨스트럭터의 차이에 대해 자세히 읽어보시기 바랍니다.

이것들은 같은 최종 결과가 됩니다만, 리터럴 구문을 사용하면 JSON(JavaScript 리터럴 오브젝트 구문의 문자열로 구분된 서브셋) 구문에 익숙해질 수 있기 때문에, 이것을 사용하는 것이 좋을지도 모릅니다.

또 만약 이 이 어구를 수 : 이 어, 어, 어, 어, 어, 어, 어, 어, 어, 어, 어, 어, 어, 어, 어, 어, 어, 어, 어, 어, 어, 어, 어, 어, 어, 어, 어, 어, 어, 어, 어, 어, 어, 어, 어, 어, 어, 어, 어, 어, 어, 어, 어, 어, 어, 어, 어, 어, 어.new하면 그런 수 있어요.그래서 리터럴을 사용하면 그 문제를 피할 수 있습니다.

궁극적으로, 그것은 선호도뿐만 아니라 상황에 따라 달라질 것이다.

var objectA = {}

훨씬 빠르고, 제 경험상으로는 더 많이 사용되기 때문에 '표준'을 채택하여 타이핑을 줄이는 것이 가장 좋습니다.

어레이 인스턴스화 퍼포먼스

길이가 없는 어레이를 작성하는 경우:

var arr = [];var arr = new Array();

특정 길이의 빈 어레이를 작성하는 경우:

var arr = new Array(x);var arr = []; arr[x-1] = undefined;

벤치마크에 대해서는, https://jsfiddle.net/basickarl/ktbbry5b/ 를 클릭해 주세요.

하지만 양쪽 메모리 풋프린트는 알 수 없습니다.상상상할 수 있습니다.new Array()더 많은 공간을 차지합니다.

오브젝트 및 어레이 리터럴 구문 {}/[]은 JavaScript 1.2에서 도입되었기 때문에 Netscape Navigator 4.0 이전 버전에서는 사용할 수 없습니다(구문 오류가 발생합니다).

내 손가락은 여전히 new Array()라고 표시하지만, 나는 매우 늙은이다.다행히도 Netscape 3는 오늘날 많은 사람들이 고려해야 할 브라우저가 아닙니다.

는 어요를 믿는다.{}여기 Javascript vids 중 하나에서 좋은 코딩 규약으로 추천되었습니다. new는 의사 고전적인 상속에 필요합니다.var obj = {};way는 이것이 고전적인 객체 지향 언어가 아니라 원형 언어임을 상기시켜 줍니다. 은 「」입니다.new컨스트럭터 함수를 사용하는 경우입니다.예를 들어 다음과 같습니다.

var Mammal = function (name) {
  this.name = name;
};

Mammal.prototype.get_name = function () {
  return this.name;
}

Mammal.prototype.says = function() {
  return this.saying || '';
}

그런 다음 다음과 같이 사용됩니다.

var aMammal = new Mammal('Me warm-blooded');
var name = aMammal.get_name();

하나의 은 ' 낫다'입니다.{}에에에 new ObjectJSON j j j j j j j j j j j j j j j j j j j j j j j j j j j.

이것은 본질적으로 같은 것이다.당신이 편한 것을 사용하세요.

좋아요, 같은 일을 하는 방법은 딱 두 가지가 있어요!한 명이 전화했어요object literal입니다.constructor!

하지만 계속 읽어보십시오. 공유하고 싶은 것이 몇 가지 있습니다.

「」를 사용합니다.{} 읽을 수 있도록 , 를 들어 '코드로 하다'의 .Object또는 기타 빌트인 기능이 권장되지 않습니다.

또한 오브젝트 함수는 다음과 같은 함수로서 파라미터를 취득합니다.Object(params)...그렇지만{}JavaScript에서 개체를 시작하는 순수한 방법입니다.

오브젝트 리터럴을 사용하면 코드가 훨씬 깨끗하고 다른 개발자가 읽기 쉬워 보이며 JavaScript의 베스트 프랙티스와 인라인으로 연결되어 있습니다.

Javascript의 오브젝트는 거의 모든 것이 될 수 있지만,{}오브젝트만 그 또는 아래 합니다.

var n = new Object(1); //Number {[[PrimitiveValue]]: 1}

놀랍게도 번호를 만들고 있습니다!

var a = new Object([1,2,3]); //[1, 2, 3]

이게 어레이를 만들고 있어요!

var s = new Object('alireza'); //String {0: "a", 1: "l", 2: "i", 3: "r", 4: "e", 5: "z", 6: "a", length: 7, [[PrimitiveValue]]: "alireza"}

이 는 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★」String!

오브젝트를리터럴을 이렇게 그리고 으로도 적절합니다.표준 코드를 사용하여 위와 같은 코드 사고를 방지하고 퍼포먼스도 향상시킵니다.{}경경상더더은것!!!!!!!!!

Var Obj = {};

이것은 가장 많이 사용되고 가장 간단한 방법입니다.

사용.

var Obj = new Obj() 

는 권장되지 않습니다.

.new Object().

단순성, 가독성 및 실행 속도를 위해 첫 번째 방법(개체 리터럴 방식)을 사용합니다.

언급URL : https://stackoverflow.com/questions/251402/create-an-empty-object-in-javascript-with-or-new-object

반응형