常用的es6特性包括哪些,基本概念和用法是什么
Admin 2022-07-06 群英技术资讯 878 次浏览
这篇文章主要讲解了“常用的es6特性包括哪些,基本概念和用法是什么”,文中的讲解内容简单、清晰、详细,对大家学习或是工作可能会有一定的帮助,希望大家阅读完这篇文章能有所收获。下面就请大家跟着小编的思路一起来学习一下吧。Let 关键字 在let所在的代码块中起作用。在let之前对于改该变量是不能进行赋值的
Const关键字 为只读变量,因此在定义的时候就需要去赋值。
变量的解构,
1>.数组结构利用[],对数组局部可以进行赋值
例如:
Let [a,,c]=[1,,3]
Let[a,…c]这里c可以当作一个数组进行赋值
2>.对象结构利用{},对对象进行解构,与数组类似,不同的是,多了一个属性的问题,最重要的是对象属性没有次序,而是按照次序来的。
1>. 利用for of 可以对字符串进行每一个字符进行遍历。
2>. 对于判断是否含有字符为:include startswith endwith
3>. Padstart。。。等等替换补全的函数
4>.字符串模板,可以在字符串里面${变量}来加上变量。也可以加上html的标签
5>.数值大多是对函数的运行,判断是否为数字,类型转换等
1>.两种用法
One:Regex r=new Regex(‘匹配规则','修饰')
Two:Regex r=/匹配的东西/修饰
Regex 其中 I g y为修饰符
2>.sticky属性 是否有修饰符
Flags 返回匹配修饰符
3>.支持为后行断言
1>.可以用const […a2]=a1直接进行赋值,两个变量互换也是可以的
2>.利用[]可以进行多个数组合并
3>.与结解构相结合
例如:
[a,…rest]=list list为数组
1>.参数默认值的使用,不能有同名参数
2>.参数传值为惰性求值,就是每次会重新计算默认值
3>.依旧可以使用解构进行函数赋值,(个人认为类似于对象解构)
在es6中的对象使用类似于C语言中最开始的struct类型,但有区别的是,在es6中对象内部可以使用方法
例如:
Const person={
Name:wl;
Birth,
CalTime(){console.log(“”);}
1>.相当于多出来的一种定义的关键字,防止定义的变量不小心被改写和覆盖。
2>.主要作用在于消除魔术字符串(个人理解:就是一堆字符串直接出来的,改成变量,提高代码阅读性吧)
1>.个人理解:有点类似java、C#中的集合。只不过因为es6的特性,有一些不同的函数实现复杂的操作。Set可以转变为数组,进行一些解构操作。
在这里多了一种加上前缀weak的集合,(这个就是临时堆放东西的地方,说没就没,因此也不能遍历)
Proxy为拦截操作,Reflect就是反射操作,读取变量进行修改。
Proxy监测发生改变,进行拦截操作,reflect进行取值更改,实现最简单的观察模式
为构造函数,可以回调两个函数。(个人理解:对于有两种结果的情况更为使用,出现不同的情况调用不同的函数进行使用)
ArrayBuffer也是一种构造器,利用多种函数操作,个人感觉为了规范数组。
遍历器模拟next,进行指针的移动,直到结束。在es6中跟我之前用的C,C++这些语言不同的是,他到结束了,会输出undefined,不会直接崩掉程序。
next: function() {
return nextIndex < array.length ?
{value: array[nextIndex++], done: false} :
{value: undefined, done: true};//不断增加nextIndex,就是让下标自加操作。
本质为记录函数内部状态,异步操作,个人感觉应该在多线程中应用较多。单线程没有想到应用的价值。本质上使用yield进行暂缓操作,可以不用yield,直接用*将函数变成暂缓执行的函数。
本质上来说是Generator的一种改进操作,他不采用yield进行暂缓操作,而是使用await进行该操作。但他与Geneator有所区别,在于返回的不同,Geneator返回遍历器,他返回的是Promise对象
他对于原本的js语言来说,类的操作,将很多东西进行了封装,有一定的模板,为了更好的进行阅读理解,加上继承,也减少了重复代码的书写。并且模式为严格模式,对于语言的规范性更高。跟面向对象语言中的class有些类似。
这种写法类似于java的注解,但是方式却又所不同。个人理解java的注解是为了代码的规法并且易于修改。但在es6中,修饰器本质就是编译时执行的函数。
将一些静态编译的东西模块化,减少重复编写吧,就类似python引入多种库那样,什么东西引入一些库,编写就相对不复杂。
import { stat, exists, readFile } from 'fs';//引入
export {firstName, lastName, year};//输出
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
本文主要介绍了js下划线和驼峰互相转换的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
node.js中有中文乱码怎么办?很多朋友都有遇到过node.Js中出现中文乱码的问题,那么遇到这样的情况我们该怎样解决呢?下面就给大家来分享一个方法,需要的朋友可以参考。
使用jQuery如何实现动画?下面本篇文章给大家介绍一些jQuery实现预定义动画或自定义动画的方法,希望对大家有所帮助!
这篇文章给大家分享的是JS中删除数组第一个元素的方法。下文给大家介绍了三种方法,分别是使用shift()函数、使用delete运算符和使用splice()函数,文中的示例代码介绍得很详细,有需要的朋友可以参考,接下来就跟随小编一起了解看看吧。
目录前言1.# 使用"Object.hasOwn"替代“in”操作符2.# 使用"#"声明私有属性3.# 超有用的"数字分隔符"4.# 使用"?."简化"&&"和三元运算符5.# 使用"BigInt"支持大数
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008