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

举报
魔天伦 发表于 2023/02/24 18:18:53 2023/02/24
2.7k+ 0 0
【摘要】 1、初识对象 数据类型:​        原始值​          1.数值 Number​          2.大整数 BigInt​          3.字符串 String​          4.布尔值 Boolean​          5.空值 Null​          6.未定义 Undefined​          7.符号 Symbol​        对象对...

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>
  ```

  
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。