JS对象object

发布网友

我来回答

1个回答

热心网友

JS七种数据类型包括:number, string, symbol, bool, undefined, null, object。

五种falsy值为:undefined, null, NaN, 0, ''。

其中object是唯一一种复杂类型,定义为无序的数据集合,键值对的集合。

对象的写法包括:let obj = { 'name': 'frank', 'age': 18 }, let obj = new Object({'name': 'frank'}), console.log({ 'name': 'frank, 'age': 18 })。

对象键名是字符串,不是标识符,可以包含任意字符,且键名必须是字符串,即使省略引号也仅限于标识符。

每个键都是对象的属性名,每个值都是对象的属性值。对象可包含奇怪的属性名,所有属性名会自动转换为字符串。

变量作为属性名,之前需用常量,而现在可通过两种方式:let p1 = 'name'; let obj = { p1 : 'frank'} 或者 let obj = { [p1] : 'frank' },后者的属性名会根据变量求值。

对象的隐藏属性储存其共有属性组成的对象地址,此地址指向对象的原型,即共有属性组成的对象。

对象的原型也是对象,每个对象的原型指向根原型,即null。通过原型,可查看对象的共有属性。

使用中括号语法和点语法访问属性。点语法可能误导你认为属性名不是字符串,建议优先使用中括号语法。

通过直接赋值、Object.assign或修改原型来写属性。修改隐藏属性推荐使用Object.create而非__proto__。

删除属性用delete关键字,如delete obj['name']。查看属性可用Object.keys或console.dir,或通过中括号语法。

修改属性可通过直接赋值或批量赋值。增加属性与修改属性类似,已有属性则改,无属性则增。

总结:对JS对象的理解与操作需掌握键值对的集合、属性名与值的区分、中括号与点语法的使用、隐藏属性与原型的特性,以及如何进行增删改查操作。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com