当前位置: 首页 > Web前端 > JavaScript

ECMAScript

时间:2023-03-27 00:22:02 JavaScript

字符串扩展方法:constmessage='Error:fooisnotdefined.';console.log(//message.startsWith('Error')//message.endsWith('.')message.includes('foo'))对象字面量增强:可以在[]中输入任何变量或表达式来设置对象的属性名Set数据结构是一个集合,不能有重复consts=newSet();s.add(1).add(2).add(3)s.forEach(i=>console.log(i))for(letiofs){console.log(i)}console.log(s.size)//数组去重constarr=[1,2,3,4,5,5,6];constresult=Array.from(newSet(arr));console.log(result)Map数据结构可以使用任何类型作为键,而对象只能使用字符串作为键constm=newMap();consttom={name:"tom"};m.set(tom,90)console.log(m)console.log(m.get(tom))Symbo:1.避免对象属性名重复2.用于创建私有成员的属性名constname=Symbol();constperson={[name]:"zsd",say(){console.log(this[name])}}person.say()主要作用是给对象添加一个唯一的属性名如何创建相同的象征?consts1=Symbol.for('foo');consts2=Symbol.for('foo');console.log(s1===s2)//true如果要获取对象中的Symbol属性名,只能使用Object.getOwnPropertySymbols(obj);此外,Object.key(obj)和forin以及JSON.stringify(obj)将不起作用Generator:Yes写一个带生成器的迭代器,统一处理任意数据结构的遍历