无法理解JavaScript中对象和普通对象之间的区别。
我知道对象的外观,但不了解普通对象。我在Google上搜索了一下,但听不懂。
据我了解,普通物体如下所示
const object = {};
或者我们将函数作为JavaScript中的对象调用
function test(){
}
但是什么是普通物体?它与普通物体有何不同。谢谢
编辑:
看到以下错误后,我开始对普通对象感到困惑。所以我的查询是要了解JavaScript中普通对象的概念
动作必须是普通对象。使用自定义中间件执行异步操作。
答案 0 :(得分:4)
普通对象(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
答案 1 :(得分:3)
我认为您想将 普通的旧JavaScript对象 表示为普通对象。
在普通JavaScript中,POJO(普通的旧JavaScript对象)是您可能拥有的最简单的对象类型:一组键值对,它们由{}
对象文字符号创建或由{{1 }}。
普通的旧JavaScript对象:
使用括号的语法糖(也称为对象文字):
new Object()
使用Object()构造函数:
var obj = {};
非普通对象:
使用函数构造函数:
var obj = new Object();
使用ES6类语法:
var Obj = function(name) {
this.name = name;
}
var c = new Obj("hello");
答案 2 :(得分:2)
通过文字符号或新对象创建的对象称为普通对象。例子:
let a = {aaa : 1}
let b = new Object()
使用函数创建的对象不是普通对象
let C = function(){}
let d = new C()
答案 3 :(得分:1)
答案 4 :(得分:1)
您正在谈论对象文字,它是文字对象{}
。像数组文字一样,使用[]
代替new Array()
。这是一个原型为Object的对象。字符串也是对象,但其原型链如下所示:字符串->对象。数组是数组->对象。这些都是对象。
对象文字的原型就是对象。
答案 5 :(得分:1)
使用对象文字符号创建的任何对象在JavaScript中都称为纯对象
class myObject {
constructor(name) {
this.name = name;
}
}
var e = new myObject("hello");
答案 6 :(得分:0)
普通对象(包裹在 { } 中的键/值对集)非常适合存储简单的数据集。
var lunch={
sandwich:'furkey',
drink:'soda',
chips:true
}
就像在 react redux 中,动作是以键/值对的形式编写的。
希望你能理解。