Ashun's 技術駅 Ashun's 技術駅
首页
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • HTML
  • CSS
  • Vue
  • 现代web布局
  • React
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 技术资源
  • 第一阶段

    • HTML
  • 第二阶段

    • JavaScript
  • 第三阶段

    • Vue
  • 第四阶段

    • 实战项目
  • 每周测试

    • 每周
  • 其他

    • Vue引入UI框架
    • Web前端面试
    • Vue3-resource
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 福利资源
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Ashun

前端界的小学生
首页
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • HTML
  • CSS
  • Vue
  • 现代web布局
  • React
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 技术资源
  • 第一阶段

    • HTML
  • 第二阶段

    • JavaScript
  • 第三阶段

    • Vue
  • 第四阶段

    • 实战项目
  • 每周测试

    • 每周
  • 其他

    • Vue引入UI框架
    • Web前端面试
    • Vue3-resource
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 福利资源
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 01变量
  • 02常量
  • 03js数据类型
  • 04运算、判断、条件
  • 05数字类型
  • 06字符串
  • 07布尔值
  • 08空值
  • 09未定义
  • 10唯一值
    • 11对象
    • 13数组
    • 14函数
    • 15日期对象
    • 16正则表达式
    • 17异常错误对象
    • 18BOM 浏览器对象模型
    • 19DOM文档对象模型
    • 20json
    • 21Ajax
    • 22jQuery
    • 23函数进阶
    • 24面向对象
    • 《javascript(es5)》
    ashun
    2022-02-14
    目录

    10唯一值


    //每次创造出来的symbol都是唯一的,所以称为唯一值
    let syb1 = Symbol("描述1")
    let syb2 = Symbol("描述2")
    console.log(syb1)
    console.log(syb2)
    console.log(syb1 === syb2)//false
    
    1
    2
    3
    4
    5
    6

    # symbol可以用来做对象的key值

    let mySymbol = Symbol();
    let obj = {
      [mySymbol]: "小明",
      age:18
    };
    
    1
    2
    3
    4
    5

    # 但是正常情况下无法获取symbol

    let mySymbol = Symbol();
    let obj = {
      [mySymbol]: "小明",
      age:18
    };
    for(key in obj){
        console.log(key)//没有symbol
    }
    
    1
    2
    3
    4
    5
    6
    7
    8

    # 需要特殊方法才可以

    let mySymbol = Symbol();
    let obj = {
        [mySymbol]: "小明",
        age:18
    };
    
    console.log(Object.getOwnPropertySymbols(obj))//打印出当前对象的所有symbol属性
    console.log(Reflect.ownKeys(obj))//打印当前对象所有的属性,包括symbol
    
    1
    2
    3
    4
    5
    6
    7
    8

    # 使用symbol.for来存储数据

    编辑 (opens new window)
    上次更新: 2022/04/24, 13:33:34
    09未定义
    11对象

    ← 09未定义 11对象→

    最近更新
    01
    课件-react路由-V6
    01-22
    02
    课件-国际化
    01-22
    03
    课件-redux-toolkit
    01-22
    更多文章>
    Theme by Vdoing | Copyright © 2019-2024 Evan Xu | MIT License
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式