Различия между объектом и простым объектом в JavaScript? - PullRequest
0 голосов
/ 22 сентября 2018

Не могу понять разницу между объектом и простым объектом в JavaScript.

Я знаю, как выглядит объект, но не понимаю простой объект.Я гуглил об этом, но не смог понять.

Согласно моему пониманию, нормальный объект выглядит следующим образом

  const object = {};

Или мы вызываем функции как объекты в JavaScript

function test(){

}

Но что такое простой объект?как это отличается от обычного объекта.Спасибо

Редактировать:

Мое замешательство началось с простым объектом после просмотра ошибки ниже.Поэтому мой запрос заключается в понимании концепции простого объекта в JavaScript

Действия должны быть простыми объектами.Используйте пользовательское промежуточное ПО для асинхронных действий.

Ответы [ 6 ]

0 голосов
/ 22 сентября 2018

Любой объект, созданный с нотацией литералов объекта, называется простым Объектом в JavaScript

function Animal(){
//Some codes
}
Var obj = new Animal();`
0 голосов
/ 22 сентября 2018

Я думаю, что вы хотели иметь в виду Простой старый объект JavaScript как простой объект.

В ванильном JavaScript POJO (простой старый объект JavaScript) является самым простым видомобъекта, который вы могли бы иметь: набор пар ключ-значение, созданный с помощью литеральной нотации объекта {} или созданный с помощью new Object().

Простой старый объект JavaScript:

Использование синтаксического сахара в скобках, также известного как литерал объекта:

var obj = {};

Использование конструктора Object ():

var obj = new Object();

отличный от простого объекта:

Использование конструктора функции:

var Obj = function(name) {
  this.name = name;
}
var c = new Obj("hello"); 

Использование синтаксиса класса ES6:

class myObject  {
  constructor(name) {
    this.name = name;
  }
}
var e = new myObject("hello");
0 голосов
/ 22 сентября 2018

Простой объект (POJO - Простой старый объект Javascript)

var plainObj1 = {}; // typeof plainObj1 --> Object
var plainObj2 = {name : "myName"}; // typeof plainObj2 --> Object
var plainObj3 = new Object(); // typeof plainObj3 --> Object

Не обычный объект

var Person = function(){}; //class
var nonPlainObj = new Person(); // typeof nonPlainObj --> function
0 голосов
/ 22 сентября 2018

Вы говорите об объектных литералах, которые являются литеральными объектами, {}.Подобно литералам массива, используйте [] вместо new Array().Это объект, прототип которого - Object.Строка также является объектом, но ее цепочка прототипов выглядит следующим образом: String -> Object.Массивы Массив -> Объект.Это все объекты.

Прототип литерала объекта - это просто Object.

0 голосов
/ 22 сентября 2018

В своем вопросе вы цитируете, что вы думаете, что и литерал объекта, и функция являются одновременно "объектами".В JS функция - это тип, как и объект.Итак, ваш первоначальный вопрос, эти два предмета не являются объектами ...

enter image description here

0 голосов
/ 22 сентября 2018

Объект, созданный литеральной нотацией, или новый Объект известен как простой объект.пример:

let a = {aaa : 1}

let b = new Object()

, в то время как Объект, созданный с помощью функции, не является простым объектом

let C = function(){}

let d = new C()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...