第十二章 TypeScript Symbol类型

1.Symbol类型

let a1:symbol = Symbol(1) // 唯一的
let a2:symbol = Symbol(1) // 唯一的// for Symbol for全局symbol有没有注册过这个key,如果有直接拿来用,如果没有的话他就会创建一个
// console.log(Symbol.for('heming')===Symbol.for('heming'))let obj ={name:1,[a1]:111,[a2]:222
}
// console.log(obj)// for in 不能读到symbol
// for(let key in obj){
//     console.log(key)
// }
// 不能读到symbol
// console.log(Object.keys(obj))
// 不能读到symbol
// console.log(Object.getOwnPropertyNames(obj))//可以读到但是其他属性丢失
// console.log(Object.getOwnPropertySymbols(obj))
// 可以取到
// console.log(Reflect.ownKeys(obj))

2.生成器

//3.迭代器
// 4.set map// let set:Set<number> = new Set([1,2,3,3,2,6]) // 天然去重的
// console.log(set,'set')let map:Map<any,any> = new Map()let Arr2 = [1,2,3]
map.set(Arr2,'鹤鸣')
// console.log(map.get(Arr2))function args(){console.log(arguments,'args') // 伪数组
}// let list = document.querySelectorAll('div') // 伪数组// const each= (value:any)=>{
//     let It:any = value[Symbol.iterator]()
//     let next:any = {done:false}
//     while (!next.done){
//         next = It.next()
//         if(!next.done){
//             console.log(next.value)
//         }
//     }
// }
//
// each(map)
// for(let value of map){
//     console.log(value,'value')
// }// 5.迭代器的语法糖 for of
// 6.for of 对象不能使用,因为没有 iterator
// 7.解构 底层原理也是去调用 iterator
// 8.对象支持for of
// let [a,b,c] = [4,5,6]
// let a = [4,5,6]
// let copy = [...a]
// console.log(a)let obj = {max:5,current:0,[Symbol.iterator](){return {max:this.max,current: this.current,next(){if(this.current == this.max){return {value:undefined,done:true}}else{return {value:this.current++,done:false}}}}}
}// for(let value of obj){
//     console.log(value)
// }// let x = [...obj]
let x = {...obj}
console.log(x)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/758931.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

App Store开发:苹果设备型号代码大全及获取方法

编号对应的设备版本i386iPhone Simulator 模拟器x86_64iPhone Simulator 模拟器arm64iPhone Simulator 模拟器iPhone1,1iPhoneiPhone1,2iPhone 3GiPhone2,1iPhone 3GSiPhone3,1iPhone 4iPhone3,2iPhone 4 GSM Rev AiPhone3,3iPhone 4 CDMAiPhone4,1iPhone 4SiPhone5,1iPhone 5 …

【逆向】fridaAPI_如何hook一个静态方法和实例方法

生命再长不过 烟火 落下了眼角 世界再大不过 你我 凝视的微笑 在所有流逝风景与人群中 你对我最好 一切好好 是否太好 没有人知道 &#x1f3b5; 五月天《好好》 逆向工程是软件工程中的一项关键技术&#xff0c;它允许开发者深入理解应用程序的内部工作机…

ch6文件操作和异常处理

os.listdir(path) 函数详解 功能: os.listdir(path) 函数用于返回指定目录下的所有文件和文件夹的名字列表&#xff0c;但不包括 . 和 ..。 参数: path: 要列出的目录的路径。 返回值: 一个包含目录下所有文件和文件夹名字的列表。 示例: import ospath "/home/u…

备战秋招(coding篇)

其中coding题目来源于师兄面试经验 1、链表的结构体反转链表 本质上就是一个构造函数 struct ListNode{int val_;ListNode* next_;ListNode() : val_(0), next_(NULL) {}ListNode(int x) : val_(x), next_(NULL) {}ListNode(int x, ListNode* next) : val_(x), next_(next) …

蓝桥杯day1刷题日记-错误票据-特殊年份-小平方-刷题统计-解码

一条蓝色的鲨鱼 跟着dalaoB站的题单来的 P8598 [蓝桥杯 2013 省 AB] 错误票据 #include <iostream> #include <algorithm> using namespace std; int cnt; int a[100010]; int q[100010]; int maxs,mins; int m,n;int main() {cnt-1;maxs-1e9,mins1e9;while(cin&…

Crypto Gladiator League (CGL)

《加密角斗士》是一款完全链上游戏。所有角斗士、装备、代币等的生成过程都可以透明追溯。不可能被篡改或欺骗&#xff0c;使所有游戏物品都是真实资产。 CGL 现已升级为全链游戏平台和 Web3 游戏流量门户&#xff0c;通过多维度收集用户数据&#xff0c;并将数据应用于游戏中&…

AcWing20:用两个栈实现队列

题目 请用栈实现一个队列&#xff0c;支持如下四种操作&#xff1a; push(x) – 将元素x插到队尾&#xff1b;pop() – 将队首的元素弹出&#xff0c;并返回该元素&#xff1b;peek() – 返回队首元素&#xff1b;empty() – 返回队列是否为空&#xff1b; 注意&#xff1a;…

【Java11下载、安装、部署指南】

oracle jdk11下载 oracle jdk所有版本归档【archive】下载地址&#xff1a; https://www.oracle.com/java/technologies/downloads/archive/ oracle jdk11下载地址&#xff1a; https://www.oracle.com/java/technologies/javase/jdk11-archive-downloads.html 配置或修改wi…

软件工程-第9章 软件工程项目管理概述

9.1 软件工程管理活动 9.2 软件规模、成本和进度估算 9.3 能力成熟度模型CMM 9.4 ISO 9000系列标准简介 9.5 CMM与ISO 9000系列标准的比较 9.6 本章小结

C++ 拷贝构造函数和析构函数

C 拷贝构造函数和析构函数 拷贝构造函数 在C中&#xff0c;拷贝构造函数是一种特殊的构造函数&#xff0c;它用于创建一个新对象作为现有对象的副本。当使用一个已存在的对象来初始化同类型的新对象&#xff0c;或者从函数中返回对象时&#xff08;虽然大多数现代C编译器会优…

Matlab|基于多目标粒子群算法的配电网储能选址定容

目录 一、主要内容 二、主要流程 三、部分程序 四、程序结果 五、程序链接 一、主要内容 程序是对文章《基于多目标粒子群算法的配电网储能选址定容》的方法复现&#xff0c;具体内容如下&#xff1a; 以系统节点电压水平&#xff08;电网脆弱性&#xff09;、网络损耗以及…

使用poi向excel中插入附件(以pdf为例)

最近在使用easyExcel操作excel文件时&#xff0c;一直想找到一个方法可以往excel中填充附件&#xff0c;但是目前只发现poi可以插入附件&#xff0c;于是将方法记录如下&#xff1a; public class poiTest {/*** 写个main方法来做一个测试* param args*/public static void ma…

数据库系统概论-第5章 数据库完整性

5.1 实体完整性 5.2 参照完整性 5.3 用户定义完整性 5.4 完整性约束命名子句 5.5 域中的完整性限制 5.6 断言 5.7 触发器 5.8 小结

Pytest自动化测试框架快速上手(超详细)

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 关注公众号&#xff1a;互联网杂货铺&#xff0c;回复1 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;薪资嘎嘎涨 pytest是一个非常成熟的全功能的Python测试框架&#…

蓝桥杯单片机快速开发笔记——NE555测频

一、原理分析 NE555作为一种多功能集成电路&#xff0c;在信号发生和频率测量方面具有广泛的应用。通过合理配置和连接外部元件&#xff0c;可以实现不同类型的信号发生和频率测量功能。 原理&#xff1a; 信号发生器&#xff1a; NE555可以配置为多种不同的振荡器电路&#x…

【鸿蒙HarmonyOS开发笔记】通知模块之发布基础类型通知,内含如何将图片变成PixelMap对象

通知简介 应用可以通过通知接口发送通知消息&#xff0c;终端用户可以通过通知栏查看通知内容&#xff0c;也可以点击通知来打开应用。 通知常见的使用场景&#xff1a; 显示接收到的短消息、即时消息等。 显示应用的推送消息&#xff0c;如广告、版本更新等。 显示当前正…

前后端路径一致报Request failed with status code 404

场景&#xff1a; 前后端路径一致报Request failed with status code 404 解决方案&#xff1a; 1&#xff1a;检查网关是否增加路径和重启网关模块 2&#xff1a;检查是否controller加注解 3&#xff1a;检查前后端路径是否一致注意路径是否带空格

基于cnn深度学习的yolov5+pyqt+分类+resnet+骨龄检测系统

往期热门博客项目回顾&#xff1a; 计算机视觉项目大集合 改进的yolo目标检测-测距测速 路径规划算法 图像去雨去雾目标检测测距项目 交通标志识别项目 yolo系列-重磅yolov9界面-最新的yolo 姿态识别-3d姿态识别 深度学习小白学习路线 YOLOv5与骨龄识别 YOLOv5&a…

极简生活|2024年让自己越来越好的18个极简好习惯

哈喽&#xff0c;你好啊&#xff0c;我是雷工&#xff01; 转眼间已经进入了2024年&#xff0c;新的一年&#xff0c;新的开始。 俗话说&#xff1a;百尺高台起于垒土&#xff0c;千里之堤毁于蚁穴。 好习惯积累的越多&#xff0c;坏习惯越来越少&#xff0c;我们的生活才能越…

春招面试高频题目总结

面试问题 redis 可以用于进程间通信吗&#xff1f; Why&#xff1f;How? ---> 延展一下 有哪些进程间通信技术, 优劣如何&#xff1f; 有大量的插入sql语句&#xff0c;一条条的插入性能很差&#xff0c;如何通过事务进行优化&#xff1f; 保证线程安全的策略有哪些&…