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 相关文章推荐
客户端静态页面玩分页
Jun 26 Javascript
如何将php数组或者对象传递给javascript
Mar 20 Javascript
JS实现控制表格行文本对齐的方法
Mar 30 Javascript
javascript字符串与数组转换汇总
May 26 Javascript
jQuery常用样式操作实例分析(获取、设置、追加、删除、判断等)
Sep 08 Javascript
详解Vue中添加过渡效果
Mar 20 Javascript
JS返回顶部实例代码
Aug 09 Javascript
使用node打造自己的命令行工具方法教程
Mar 26 Javascript
vue中过滤器filter的讲解
Jan 21 Javascript
JavaScript中构造函数与原型链之间的关系详解
Feb 25 Javascript
详解React的回调渲染模式
Sep 10 Javascript
Map与WeakMap类型在JavaScript中的使用详解
Nov 18 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
在windows服务器开启php的gd库phpinfo中未发现
2013/01/13 PHP
PHP获取一年有几周以及每周开始日期和结束日期
2015/08/06 PHP
php数据库的增删改查 php与javascript之间的交互
2017/08/31 PHP
ThinkPHP整合datatables实现服务端分页的示例代码
2018/02/10 PHP
深入理解 PHP7 中全新的 zval 容器和引用计数机制
2018/10/15 PHP
PHP接口类(interface)的定义、特点和应用示例
2020/05/18 PHP
jQuery+canvas实现的球体平抛及颜色动态变换效果
2016/01/28 Javascript
跨域请求的完美解决方法(JSONP, CORS)
2016/06/12 Javascript
JavaScript toUpperCase()方法使用详解
2016/08/26 Javascript
jQuery动态添加与删除tr行实例代码
2016/10/18 Javascript
Bootstrap Table 在指定列中添加下拉框控件并获取所选值
2017/07/31 Javascript
微信小程序使用Promise简化回调
2018/02/06 Javascript
详解Element 指令clickoutside源码分析
2019/02/15 Javascript
微信小程序云开发之使用云存储
2019/05/17 Javascript
TypeScript之调用栈的实现
2019/12/31 Javascript
[04:21]狐狸妈带你到现场 DOTA2 TI中国区预选赛线下赛路线指引
2014/05/22 DOTA
[51:44]2018DOTA2亚洲邀请赛 4.3 突围赛 Optic vs iG 第二场
2018/04/04 DOTA
python使用WMI检测windows系统信息、硬盘信息、网卡信息的方法
2015/05/15 Python
Python编程实现的简单Web服务器示例
2017/06/22 Python
Python将多个list合并为1个list的方法
2018/06/27 Python
解决Pycharm调用Turtle时 窗口一闪而过的问题
2019/02/16 Python
基于Python检测动态物体颜色过程解析
2019/12/04 Python
Python3打包exe代码2种方法实例解析
2020/02/17 Python
keras 权重保存和权重载入方式
2020/05/21 Python
Python 捕获代码中所有异常的方法
2020/08/03 Python
python 浮点数四舍五入需要注意的地方
2020/08/18 Python
HTML文本属性&颜色控制属性的实现
2019/12/17 HTML / CSS
澳大利亚音乐商店:Bava’s Music City
2019/05/05 全球购物
Strathberry苏贝瑞中国官网:西班牙高级工匠手工打造
2020/10/19 全球购物
新颖的化妆品活动方案
2014/08/21 职场文书
关于观后感的作文
2015/06/18 职场文书
奠基仪式致辞
2015/07/30 职场文书
python源码剖析之PyObject详解
2021/05/18 Python
解决Swagger2返回map复杂结构不能解析的问题
2021/07/02 Java/Android
Go语言实现一个简单的并发聊天室的项目实战
2022/03/18 Golang
微信小程序纯CSS实现无限弹幕滚动效果
2022/09/23 HTML / CSS