ES6新特征数字、数组、字符串


Posted in Javascript onOctober 01, 2016

一、let和const

let:声明变量,只在声明的块级作用域(大括号)内起作用[注意:let不向var那样可以自动提升]

如果一个区块内存在let或const命令,该区块就被解析成封闭作用域(暂时性死区,必须先声明再使用) [所以一个区块内只要有let,就可能存在死区,就可能会出现变量声明使用顺序的错误]

let为JavaScript增加了块级作用域

ES6中在块级作用域声明的函数不能在外部被引用,但在ES5中可以(ES5中的函数声明可以提升到全局作用域或函数作用域头部,ES6中不行,但是ES6位了避免对老代码的冲击放开了新的规定)

const声明值不能被改变的常量

const声明对象的时候指向的是地址而不是具体数据,所以不可变的是地址

let、class、const在全局声明的变量不再是全局变量,不再挂载到window对象上

二、变量的解构赋值

解构赋值:模式匹配,左右两侧通过数组的模式匹配复制,不需要一个个赋值了,如:

var [a, b, c] = [1, 2, 3] [这种事数组解构,按位置赋值]

还可以对象解构,没有次序要求,按照变量名赋值:

var {bar, foo} = {foo: “aaa”, bar: “bob”};

字符串解构:const [a, b, c, d, e] = ‘hello';

三、字符串的扩展

\uxxxx表示一个字符,后加字符的四位码点

codePointAt:正确处理4个字节储存的字符

String.fromCharCode():将码点返回成对应的字符串

for…of可以遍历字符串 比如for(let a of “hello”){console.log(a);} 打印出hello各个字母

类似indexOf()的方法:includes()是否找到参数字符串;startsWith/endsWith是否在字符串头/尾部

repeat():将原字符串复制n次返回新字符串 ‘x'.repeat(3) //xxx

模版字符串:使用反引号

字符串中可以使用正则表达式的方法:match()/replace()/search()/split()

可以为正则表达式添加u字符,用来处理中文等

四、数值的扩展

0b开头二进制;0o开头八进制

Number.isNaN()/Number.inFinite() 检测一个数是否是NaN/有限值,只对数值有效

Number.isInteger() 判断是否是整数

Math.trunc() 去除一个数的小数部分;Math.sign() 判断一个数是正数、负数、零

Math.cbrt() 计算一个数的立方根;Math.hypot() 求所有参数的平方和的平方根

五、数组的扩展

Array.from():将类数组对象转换成数组,还可以传入第二个参数,作用类似map,对每个元素操作

ES6中:var arr = Array.from(arrayLike);

ES5中:var arr = [].slice.call(arrayLike);

Array.of():将一组值转换为数组

find()方法:找到第一个符合条件的数组成员,参数是一个回调函数,每个成员都执行一次回调函数

[1, 5, 10, 15].find(function(value, index, arr) { //当前值、索引、原数组
return value > 9;
})

fill()方法:用来填充一个数组,fill(value, start, end),表示从start开始end截止使用value填充

ES6规定数组中空位的值是undefined,注意不是这个位置是undefined而事这个位置的值的undefined

以上所述是小编给大家介绍ES6新特征数字、数组、字符串,希望对大家有帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的。

Javascript 相关文章推荐
基于jquery的tab切换 js原理
Apr 01 Javascript
IE与Firefox在JavaScript上的7个不同句法分享
Oct 30 Javascript
jQuery 遍历- 关于closest() 的方法介绍以及与parents()的方法区别分析
Apr 26 Javascript
jquery.post用法关于type设置问题补充
Jan 03 Javascript
XML、HTML、CSS与JS的区别整理
Feb 18 Javascript
微信js-sdk地理位置接口用法示例
Oct 12 Javascript
解决浏览器会自动填充密码的问题
Apr 28 Javascript
ES6中Array.includes()函数的用法
Sep 20 Javascript
微信小程序搭建(mpvue+mpvue-weui+fly.js)的详细步骤
Sep 18 Javascript
Koa代理Http请求的示例代码
Oct 10 Javascript
wx-charts 微信小程序图表插件的具体使用
Aug 18 Javascript
JS算法教程之字符串去重与字符串反转
Dec 15 Javascript
使用PBFunc在Powerbuilder中支付宝当面付款功能
Oct 01 #Javascript
ros::spin() 和 ros::spinOnce()函数的区别及详解
Oct 01 #Javascript
javascript代码调试之console.log 用法图文详解
Sep 30 #Javascript
JS实现表单多文件上传样式美化支持选中文件后删除相关项
Sep 30 #Javascript
微信小程序 Audio API详解及实例代码
Sep 30 #Javascript
微信小程序 Record API详解及实例代码
Sep 30 #Javascript
微信小程序 Image API实例详解
Sep 30 #Javascript
You might like
PHP中static关键字原理的学习研究分析
2011/07/18 PHP
php缩小png图片不损失透明色的解决方法
2013/12/25 PHP
php中青蛙跳台阶的问题解决方法
2018/10/14 PHP
Laravel框架实现多个视图共享相同数据的方法详解
2019/07/09 PHP
URI、URL和URN之间的区别与联系
2006/12/20 Javascript
Javascript中 关于prototype属性实现继承的原理图
2013/04/16 Javascript
jquery实现商品拖动选择效果代码(自写)
2013/05/28 Javascript
jquery和js实现对div的隐藏和显示方法
2014/09/26 Javascript
JavaScript中的类数组对象介绍
2014/12/30 Javascript
JavaScript实现点击单选按钮改变输入框中文本域内容的方法
2015/08/12 Javascript
JavaScript实现标题栏文字轮播效果代码
2015/10/24 Javascript
拖动时防止选中
2017/02/03 Javascript
layui选项卡效果实现代码
2017/05/19 Javascript
浅谈vue项目重构技术要点和总结
2018/01/23 Javascript
vue 的keep-alive缓存功能的实现
2018/03/22 Javascript
微信小程序实现弹出层效果
2020/05/26 Javascript
实用Javascript调试技巧分享(小结)
2019/06/18 Javascript
vue实现评论列表功能
2019/10/25 Javascript
详解微信小程序之提高应用速度小技巧
2020/01/07 Javascript
python中input()与raw_input()的区别分析
2016/02/27 Python
使用Nginx+uWsgi实现Python的Django框架站点动静分离
2016/03/21 Python
python妙用之编码的转换详解
2017/04/21 Python
Python如何实现MySQL实例初始化详解
2017/11/06 Python
python如何实现视频转代码视频
2019/06/17 Python
django框架模型层功能、组成与用法分析
2019/07/30 Python
Django 实现Admin自动填充当前用户的示例代码
2019/11/18 Python
一款纯css3实现的颜色渐变按钮的代码教程
2014/11/12 HTML / CSS
HTML5 Canvas概述
2009/08/26 HTML / CSS
DVF官方网站:美国时装界尊尚品牌
2017/08/29 全球购物
英国在线潜水商店:Simply Scuba
2019/03/25 全球购物
护理专业大学生自我推荐信
2014/01/25 职场文书
小学六年级学生评语
2014/04/22 职场文书
2014年保卫部工作总结
2014/11/21 职场文书
运动会通讯稿200字
2015/07/20 职场文书
Python使用scapy模块发包收包
2021/05/07 Python
python实现MD5进行文件去重的示例代码
2021/07/09 Python