当前位置: 首页 > news >正文

ES学习笔记(12)--Symbol

js数据类型

数据类型的判断

        var a = new String;
        var b = new Number;
        var c = new Boolean;
        var d = new Array;
        var e = new Object;
        var f = Symbol();
        console.log(typeof (f)); //symbol

Symbol的打印

        var g = Symbol("jie");
        console.log(g) //红色
        console.log(g.toString())

clipboard.png

Symbol在对象中的应用

.属性

        var jie = Symbol();
        var obj = {
            [jie]: "杰"
        } 
        console.log(obj.jie);  //underfind
        obj.jie = "web";
        console.log(obj.jie)  //web

[属性]

        var jie = Symbol();
        var obj = {
            [jie]: "杰"
        }
        console.log(obj[jie]);  //杰
        obj[jie] = "web";
        console.log(obj[jie])  //web

Symbol对象元素的保护作用

在对象中有很多值,但是循环输出时,并不希望全部输出,那我们就可以使用Symbol进行保护。

没有进行保护的写法:

        var obj = {
            name:'jie',
            skill:'web',
            age:18
        }
        for(let item in obj){
            console.log(obj[item]);
        }
        //jie
        //web
        //18

现在我不想别人知道我的年龄,这时候我就可以使用Symbol来进行循环保

        var obj = {
            name: 'jie',
            skill: 'web',
        }
        let age = Symbol();
        obj[age] = 18;
        for (let item in obj) {
            console.log(obj[item]);  //jie web
        }
        console.log(obj)  //{name: "jie", skill: "web", Symbol(): 18}

clipboard.png

相关文章:

  • Redis 中的布隆过滤器
  • json字符串 转换为数组
  • 用mpvue开发微信小程序
  • hadoop副本放置策略
  • 【逆序对】N*M Puzzle / Simple Puzzle
  • JavaCV cvEstimateRigidTransform函数使用心得
  • 10.17_T1 平津战役
  • EOS开发完全解析(二):用cleos命令行创建、导入、解锁钱包
  • 返回一个二维整数数组中最大子数组的和
  • 1、jeecg 笔记开篇
  • 论文笔记:Visual Semantic Navigation Using Scene Priors
  • InlineHookPsTerminateProcess(0环)
  • 人工智能会改变世界?那这项技能你必须要掌握了。
  • 如何洞悉城市人群移动规律?DataV海量轨迹可视化实践解析
  • webpack4 正确的配置方式
  • @angular/forms 源码解析之双向绑定
  • Android Studio:GIT提交项目到远程仓库
  • Facebook AccountKit 接入的坑点
  • HomeBrew常规使用教程
  • JavaScript-Array类型
  • Java应用性能调优
  • Promise面试题,控制异步流程
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • supervisor 永不挂掉的进程 安装以及使用
  • vue2.0一起在懵逼的海洋里越陷越深(四)
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • webgl (原生)基础入门指南【一】
  • 工程优化暨babel升级小记
  • 京东美团研发面经
  • 时间复杂度与空间复杂度分析
  • 数据结构java版之冒泡排序及优化
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 小程序 setData 学问多
  • - 转 Ext2.0 form使用实例
  • 带你开发类似Pokemon Go的AR游戏
  • 好程序员大数据教程Hadoop全分布安装(非HA)
  • ​ArcGIS Pro 如何批量删除字段
  • $.ajax中的eval及dataType
  • %check_box% in rails :coditions={:has_many , :through}
  • (1)(1.13) SiK无线电高级配置(五)
  • (16)UiBot:智能化软件机器人(以头歌抓取课程数据为例)
  • (JS基础)String 类型
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • (三)c52学习之旅-点亮LED灯
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (十六)Flask之蓝图
  • (十一)图像的罗伯特梯度锐化
  • (未解决)macOS matplotlib 中文是方框
  • (一)Java算法:二分查找
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • **CI中自动类加载的用法总结
  • .describe() python_Python-Win32com-Excel