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 相关文章推荐
javascript css styleFloat和cssFloat
Mar 15 Javascript
javascript中"/"运算符常见错误
Oct 13 Javascript
解决JS中乘法的浮点错误的方法
Jan 03 Javascript
Node.js的特点和应用场景介绍
Nov 04 Javascript
CSS3,HTML5和jQuery搜索框集锦
Dec 02 Javascript
JS通过ajax动态读取xml文件内容的方法
Mar 24 Javascript
用原生js统计文本行数的简单示例
Aug 19 Javascript
JavaScript严格模式详解
Jan 16 Javascript
JavaScript正则表达式简单实用实例
Jun 23 Javascript
webpack 静态资源集中输出的方法示例
Nov 09 Javascript
js中对象和面向对象与Json介绍
Jan 21 Javascript
vue自定义指令实现方法详解
Feb 11 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 图片水印类代码
2012/08/27 PHP
在Mac OS上编译安装Nginx+PHP+MariaDB开发环境的教程
2016/02/23 PHP
ThinkPHP表单令牌错误的相关解决方法分析
2016/05/20 PHP
一段利用WSH获取登录时间的jscript代码
2008/05/11 Javascript
Jquery Uploadify多文件上传带进度条且传递自己的参数
2013/08/28 Javascript
javascript刷新父页面的各种方法汇总
2014/09/03 Javascript
JS实现左右拖动改变内容显示区域大小的方法
2015/10/13 Javascript
jquery插件ajaxupload实现文件上传操作
2015/12/09 Javascript
Angularjs实现带查找筛选功能的select下拉框示例代码
2016/10/04 Javascript
Angular2中Bootstrap界面库ng-bootstrap详解
2016/10/18 Javascript
xmlplus组件设计系列之路由(ViewStack)(7)
2017/05/02 Javascript
vue登录路由验证的实现
2017/12/13 Javascript
vue+element实现批量删除功能的示例
2018/02/28 Javascript
Vue创建头部组件示例代码详解
2018/10/23 Javascript
Python 正则表达式操作指南
2009/05/04 Python
Django1.3添加app提示模块不存在的解决方法
2014/08/26 Python
2018年Python值得关注的开源库、工具和开发者(总结篇)
2018/01/04 Python
Python使用线程来接收串口数据的示例
2019/07/02 Python
django-allauth入门学习和使用详解
2019/07/03 Python
Python装饰器结合递归原理解析
2020/07/02 Python
获取python运行输出的数据并解析存为dataFrame实例
2020/07/07 Python
Python如何实现自带HTTP文件传输服务
2020/07/08 Python
Python 如何操作 SQLite 数据库
2020/08/17 Python
python mock测试的示例
2020/10/19 Python
python实现企业微信定时发送文本消息的示例代码
2020/11/24 Python
html5弹跳球示例代码
2013/07/23 HTML / CSS
RIP版本1跟版本2的区别
2013/12/30 面试题
优秀毕业生求职信范文
2014/01/02 职场文书
先进事迹报告会感言
2014/01/24 职场文书
大学生党员自我评价范文
2014/04/09 职场文书
住房抵押登记委托书
2014/09/27 职场文书
2014年小学少先队工作总结
2014/12/18 职场文书
2014年度个人总结范文
2015/03/09 职场文书
大学开学典礼新闻稿
2015/07/17 职场文书
2016教师校本研修心得体会
2016/01/08 职场文书
范文之农村基层党建工作报告
2019/10/24 职场文书