前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >红宝书 📒 6.1 集合应用类型-object

红宝书 📒 6.1 集合应用类型-object

作者头像
用户4793865
发布2023-01-12 13:38:58
2480
发布2023-01-12 13:38:58
举报
文章被收录于专栏:前端小菜鸡yym前端小菜鸡yym

Object

*对象__,实质上是存储数据的一个集合。*

声明对象的方式有如下两种:new操作符 和 字面量(*)

创建

new操作符

代码语言:javascript
复制
let obj = new Object()

为对象添加属性的方式同样有两种

代码语言:javascript
复制
obj.name = 'Bob'
obj['_sex'] = 'boy'

字面量(*)

字面量的声明方式更为常用。在使用对象字面量表示法定义对象时,并不会实际调用Object构造函数。

代码语言:javascript
复制
let obj ={}

存取值

存取值可以使用.['属性名'] 的方式。

new操作符

代码语言:javascript
复制
let obj = new Object()
obj.name = 'Linda'   //存值
console.log(obj.name) // 取值

字面量

代码语言:javascript
复制
let obj = {
 name:'robot',
 age:29
 }
 obj.name

而字面量的创建方式除了可以使用字符串的属性名还可以使用数值型的属性名。而new关键字的创建方式,只能使用字符串的属性名

代码语言:javascript
复制
let obj = new Object()
obj.1 = '12' // Uncaught SyntaxError: Unexpected number
代码语言:javascript
复制
let obj1 = {
    1:'id'
}

但是如果我想获得属性名是1的属性值,是会报错的。

代码语言:javascript
复制
console.log(obj1.1)  // Uncaught SyntaxError: Unexpected number

那么另一种获取属性值的方式就出现了:[]

代码语言:javascript
复制
console.log(obj1[1])

同样,也解决属性名中有空格的问题

代码语言:javascript
复制
obj["first name"]  //中间有空格
obj1.first name    // Unexpected identifier

而且当我们属性名是一个变量的时候,也必须使用[]

代码语言:javascript
复制
let obj ={name:'test'}
let a = 'name'
obj[a]   // 'test'

对象字面量的用途

函数传递可选参数

代码语言:javascript
复制
function displayInfo(args){
    let output = "";
    if(typeof args.name == 'string'){
        output += "Name:" +args.name + "\n"
    }
    if(typeof args.age == 'number'){
        output += "Age:" +args.age + "\n"
    }
    return output
}
// 两个参数
displayInfo({
    name:'Nicholas',
    age:29
})
// 一个参数
displayOnfo({
    name:'Greg'
})
// 没有参数
displayInfo({})

原始包装类

什么是原始包装类 如下:

代码语言:javascript
复制
let str = new String()
let bool = new Boolean()
let num = new Number()
typeof str   // object
typeof bool // object
typeof num  // object

三者其实都是属于object类型的,如果想深入了解,Y请移驾

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-01-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Object
    • 创建
      • new操作符
      • 字面量(*)
    • 存取值
      • new操作符
      • 字面量
    • 对象字面量的用途
      • 原始包装类
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档