Es6中的常用新特性
引言
ECMAScript6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了。它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。
我们来看看ES6都做了哪些扩展。
Let和const关键字
变量的解构赋值
函数参数默认值
箭头(Arrow)函数
字符串(模板字符串),数值的扩展
数组,对象的扩展
函数的扩展
for...of
1:先从let和const这两个关键字看起。
let关键字类似于var,但是他又和var有些不同,主要有两点, (1):避免了变量提升 (2):只在块级作用域内起作用 const就是常量的意思,所以他就有了不可更改的属性,尝试给一个常量改变值是会报错的 const和let一样,只在块级作用域内作用, 不存在变量提升,必须先定义后使用, 不可重复声明, 声明后必须赋值。
2:再来看一个ES6的新特性,for…of。
平时我们for循环的时候,是这样写的 Arr=[1,2,3,4,5,6] for(vari=0;i<Arr.length;i++) 有了for…of,我们可以更清晰,牛逼得去遍历数组。 for(let itemof Arr)可以达到和上面代码同样得效果。 比如 var arr= [1,2,3,4,5]; for(let valueof arr){ if(value ==3){ //终止整个循环 break; } console.log(value); } 这样我们就及时得跳出了循环 只会打印出来1和2. 也可以跳过当前循环,把break改成continue就可以了。我们也可以得到数字类型得索引, for(let indexof arr.keys()){ console.log(index); } 就可以打印出来0,1,2,3,4.
3:箭头函数 ->
箭头函数用 => 符号来定义。 箭头函数相当于匿名函数,所以采用函数表达式的写法。左边是传入函数的参数,右边是函数中执行的语句。 var sum =(x,y)=> {return x+y;} 相当于 var sum = function(x,y){ return x+y; } 上面是完整的写法,左边小括号,右边大括号,而下面的情况可以简写: (1)当要执行的代码块只有一条return语句时,可省略大括号和return关键字: var sum =(x,y)=> return x+y; (2)当传入的参数只有一个时,可以省略小括号: var sum =x => x*x; (3)当不需要参数时,使用空的圆括号: var sum = () =>1; 相当于 var sum = function(){ return 1; } (4)箭头函数在回调函数中是很简洁的,像这样: var array=[1,2,3]; var result=array.map(x =>x*x); //[1,4,9] 也就是[1*1,2*2,3*3] (5)在排序中: var array=[1,2,3]; array.sort((a,b) => b-a) ;//[3,2,1]
4:箭头函数循环数组 集合 Map
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | ( 1 ):循环List集合 String[] atp={ "AAA" , "BBB" , "CCC" }; List<String> mytest=Arrays.asList(atp); //传统方式 for (String s:mytest){ System.out.println(s); } //箭头函数循环 mytest.forEach((s) -> System.out.println(s)); //简写 mytest.forEach((s) ->{ System.out.println(s)); } ( 2 ):循环Map Map<String ,String> map= new HashedMap(); map.put( "111" , "aaa" ); map.put( "222" , "bbb" ); map.put( "333" , "ccc" ); //传统方式 for (Map.Entry<String,String> entry:map.entrySet()){ System.out.println( "key:" +entry.getKey()+ " || value:" +entry.getValue()); } //箭头函数循环 map.forEach((key,value) ->{ System.out.println( "key:" +key+ " || value:" +value); }); ( 3 ):循环数组 先将数组转为集合,在循环集合 |
5:函数参数默认值
ES6支持在定义函数的时候为其设置默认值: function foo(height = 50, color = 'red') { // TODO } 这样写一般没问题,但当参数的布尔值为false时,就会有问题了。比如,我们这样调用foo函数: foo(0, "") 因为0的布尔值为false,这样height的取值将是50。同理color的取值为‘red’。 所以说,函数参数默认值不仅能是代码变得更加简洁而且能规避一些问题。
6:模板字符串
ES6支持模板字符串,使得字符串的拼接更加的简洁、直观。 不使用模板字符串: var name = 'Your name is ' + first + ' ' + last + '.' 使用模板字符串: var name = `Your name is ${first} ${last}.` 在ES6中通过${}就可以完成字符串的拼接,只需要将变量放在大括号之中。
先总结这么多,后续的内容再慢慢补上
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现