JavaScript学习笔记:对象的基本用法

JavaScript 中共有七种数据类型,分别是字符串String)、数字(Number)、布尔(Boolean)、Null)、未定义Undefined)、符号Symbol)和对象Object)。
前六种称为原始类型简单类型对象(Object)被称为复杂类型
JavaScript 对象是拥有属性和方法的数据,它可以是无序的数据集合,也可以是键值对的集合。

1. 声明对象的两种语法

let obj{'name': 'qwxying', 'age': 18}
let obj = new Object({'name': 'qwxying', 'age': 18})
  1. 其中,'name''age'称为键名,键名是字符串,不是标识符,它可以是任何字符;
  2. 键名的引号可以省略,但是引号省略之后只能写成标识符或者数字

即使键名的引号被省略了,键名依然是字符串。

2. 如何删除对象的属性

delete obj.xxx
//或者
delete obj['xxx']

即可删除obj对象的xxx属性。

注意:obj.xxx中的xxx为不必加引号的字符串。

3. 如何查看对象的属性

1. 查看自身属性

Object.keys(obj)

2. 查看自身属性和共有属性

console.dir(obj)

3. 判断一个属性是自身的还是共有的

obj.hasOwnProperty('xxx')
//true: 'xxx'为自身属性
//false: 'xxx'为共有属性或者无'xxx'属性

4. 'name' in objobj.hasOwnProperty('name')的区别

'name' in obj  //可以访问到共有属性
obj.hasOwnProperty('name')  //不能访问到共有属性

特别注意:

每个对象都有原型,对象的属性obj.__proto__中存着所有对象的原型的地址,该原型也是一个对象,也称为对象的根,对象的根的原型为null

4. 如何修改或增加对象的属性

1. 直接赋值

let obj = {name: 'qwxying'}  //name是字符串
obj.name = 'qwxying'  //name是字符串
obj['name'] = 'qwxying'
let key = 'name'; obj[key] = 'qwxying'

2. 批量赋值

Object.assign(obj, {
    age:18, 
    gender: 'male', 
    xxx: 'yyy'
})

https://juejin.im/post/5ea3d49d518825736f6434b8

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论