ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

es6

2020-12-20 09:32:48  阅读:167  来源: 互联网

标签:es6 set target ... Object Reflect Proxy


总结一下学习了这么久es6的结果(学了大概有2个月了吧这本书,读读写写时不时中断阅读)

  1. let是最牛逼的,尽量用let不用var,因为不会变量提升,而且在const和let之间的话尽量用const,因为他说这样符合语法思想就是变量都是定义了的不改的,。
  2. 解构是很常用的一种写法,最习惯的应该是这样用:[a,b]=[...array],这样的话很方便能够提取出来。
  3. 正则表达式的话,其实最主要是学习好语法规范,比如说那个符号对应哪种字符。
  4. 函数,默认参数写法,箭头函数,尾递归
  5. 扩展运算符就是(...)常用的几个方法:form,of,copyWithin,find,findindex,fill,entries,values,keys,includes,flat,flatMap(flatMap很有意思,就是将数组拉平,简单的将数组的元素提取出来然后放在一个数组里面,只有一层,其实实现不就是用递归来做吗,后面的generator也有实现这种效果的例子)
  6. 对象,可枚举比较重要一点
  Object.is  
	Object.assign  
	Object.getOwnPropertyDescriptiors  
	_proto_  
	Object.setPrototypeOf  
	Object.getPrototypeOf  
	Object.keys,values,entries  
	fromEntries是entries的逆操作将键值对组成一个对象,感觉上类似于json的用法???  
  1. Symbol这个就很牛逼了,可以设置symbol值来作为隐藏属性,外界访问不到。
  2. set和map是比较好常用的一种结构体,set里面每一个数都是独一无二的,[...new Set('ababbc')].join('')这个就是将字符串去重,[...new Set(array)]将数组去重,
  set的方法有size,add,delete,has,clear
map的方法呢差不多的用法,size,get,set,has,delete,clear
  1. proxy在我看来是一种拦截操作,比如说完全可以实现见识到某一种操作的进行发生操作,就是在每一种行为被拦截后你可以人为的添加一些或者修改一下行为,让他更符合自己的需求。
  2. reflect呢,Reflect对象的方法与Proxy对象的方法一一对应,只要是Proxy对象的方法,就能在Reflect对象上找到对应的方法。这就让Proxy对象可以方便地调用对应的Reflect方法,完成默认行为,作为修改行为的基础。也就是说,不管Proxy怎么修改默认行为,你总可以在Reflect上获取默认行为。这个很重要 Proxy(target, { set: function(target, name, value, receiver) { var success = Reflect.set(target, name, value, receiver); if (success) { console.log('property ' + name + ' on ' + target + ' set to ' + value); } return success; } });
  3. promise和generator都很有用,具体下一次在讲。
  4. asyn则是更加简化版的genenrator,这些都是尽量将异步操作同步化
  5. class就是将function创建对象更加格式化,符合别的语言的一些标准规范。
  6. moduel其实就是类似于node所要求的一些东西,就是要将代码项目摩卡UI哈u,通过export和import来实现模块的传递数据。

目前就是这么多了,详细的我的下一次逐个来讲,这些只是我的一些阅读感想,并不详细,只是初略的讲了一些大概,甚至有一些理解是错的。以后再回来慢慢看

标签:es6,set,target,...,Object,Reflect,Proxy
来源: https://www.cnblogs.com/maikailuu/p/14162598.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有