【JavaScript】10_对象初步:数据类型,属性与对象字面量

本文介绍了JavaScript中对象的基本概念,包括数据类型如数值、字符串和布尔值,以及对象的复合特性。讲解了如何创建和操作对象,属性的命名规则、使用符号作为属性、对象字面量的创建方法。重点展示了对象的属性值多样性,以及in运算符的应用实例。
摘要由CSDN通过智能技术生成

1、初识对象

数据类型:

​ 原始值

​ 1.数值 Number

​ 2.大整数 BigInt

​ 3.字符串 String

​ 4.布尔值 Boolean

​ 5.空值 Null

​ 6.未定义 Undefined

​ 7.符号 Symbol

​ 对象

  • 对象是JS中的一种复合数据类型,

​ 它相当于一个容器,在对象中可以存储各种不同类型数据

​ 原始值只能用来表示一些简单的数据,不能表示复杂数据
​ 比如:现在需要在程序中表示一个人的信息

 let name = "孙悟空"

 let age = 18

 let gender = "男" 

​ 对象中可以存储多个各种类型的数据

​ 对象中存储的数据,我们称为属性

​ 向对象中添加属性:

​ 对象.属性名 = 属性值

​ 读取对象中的属性

​ 对象.属性名

​ - 如果读取的是一个对象中没有的属性

​ 不会报错而是返回undefined

    <title>初识对象</title>
    <script>
        let obj = Object()

        obj.name = '孙悟空'
        obj.age = 12
        obj.gender = '男'

        //修改属性
        obj.name = 'wu'

        //删除属性
        delete obj.age
        alert(obj.age)//undefined
    </script>

2、对象的属性

属性名

  • 通常属性名就是一个字符串,所以属性名可以是任何值,没有什么特殊要求
    但是如果你的属性名太特殊了,不能直接使用,需要使用[]来设置
    虽然如此,但是我们还是强烈建议属性名也按照标识符的规范命名

  • 也可以使用符号(symbol)作为属性名,来添加属性
    获取这种属性时,也必须使用symbol
    使用symbol添加的属性,通常是那些不希望被外界访问的属性

  • 使用[]去操作属性时,可以使用变量

属性值

  • 对象的属性值可以是任意的数据类型,也可以是一个对象

使用typeof检查一个对象时,会返回object

in 运算符

​ - 用来检查对象中是否含有某个属性

​ - 语法 属性名 in obj

​ - 如果有返回true,没有返回false

    <script>
        let obj = Object()

        let mySymbol = Symbol()
        let newSymbol = Symbol()
        // 使用symbol作为属性名
        obj[mySymbol] = "通过symbol添加的属性"
        console.log(obj[mySymbol])

        obj.age = 18
        obj["gender"] = "男"

        let str = "address"
        obj[str] = "花果山" // 等价于 obj["address"] = "花果山"

        obj.str = "哈哈" // 使用.的形式添加属性时,不能使用变量

        obj.a = 123
        obj.b = 'hello'
        obj.c = true
        obj.d = 123n
        obj.f = Object()
        obj.f.name = "猪八戒"
        obj.f.age = 28

        // console.log(obj.f.name)
        
        // console.log(obj.gender)
        // console.log(obj["gender"])
        
        // console.log(typeof obj)
        console.log("name" in obj)
    </script>

3、对象字面量

对象字面量

  • 可以直接使用{} 来创建对象

  • 使用{}所创建的对象,可以直接向对象中添加属性

  • 语法:

     {
     	 属性名:属性值,
    	[属性名]:属性值,
    }
    
        <script>
            let obj = Object()
    
            let mySymbol = Symbol()
    
            let obj2 = {
                name:'孙悟空',
                age:14,
                ['gender']:'男',
                ['mySymbol']:'特殊的属性',
                hello:{
                    a:1,
                    b:true
                }
            }
            console.log(obj)
            console.log(mySymbol)//mySymbol()
            console.log(obj2)
        </script>
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

名之以父

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值