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 相关文章推荐
繁简字转换功能
Jul 19 Javascript
Ext javascript建立超链接,进行事件处理的实现方法
Mar 22 Javascript
javascript 操作cookies及正确使用cookies的属性
Oct 15 Javascript
更换select下拉菜单背景样式的实现代码
Dec 20 Javascript
iframe子页面获取父页面元素的方法
Nov 05 Javascript
window.location.href IE下跳转失效的解决方法
Mar 27 Javascript
jquery中checkbox全选失效的解决方法
Dec 26 Javascript
jQuery中的ready函数与window.onload谁先执行
Jun 21 Javascript
ionic在开发ios系统微信时键盘挡住输入框的解决方法(键盘弹出问题)
Sep 06 Javascript
JavaScript 中Date对象的格式化代码方法汇总
Sep 06 Javascript
js阻止默认右键的下拉菜单方法
Jan 02 Javascript
jQuery选择器之基本选择器用法实例分析
Feb 19 jQuery
使用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
Win2003服务器安全加固设置--进一步提高服务器安全性
2007/05/23 PHP
深入extjs与php参数交互的详解
2013/06/25 PHP
Yii使用Captcha验证码的方法
2015/12/28 PHP
YII2 实现多语言配置的方法分享
2017/01/11 PHP
PHP内置函数生成随机数实例
2019/01/18 PHP
PHP 7.4 新语法之箭头函数实例详解
2019/05/09 PHP
juqery 学习之四 筛选过滤
2010/11/30 Javascript
jquery自定义类似$.ajax()的方法实现代码
2013/08/13 Javascript
让浏览器DOM元素最后加载的js方法
2014/07/29 Javascript
BootStrap入门教程(三)之响应式原理
2016/09/19 Javascript
js上传图片预览的实现方法
2017/05/09 Javascript
微信小程序多张图片上传功能
2017/06/07 Javascript
对存在JavaScript隐式类型转换的四种情况的总结(必看篇)
2017/08/31 Javascript
js序列化和反序列化的使用讲解
2019/01/19 Javascript
vue+Element实现搜索关键字高亮功能
2019/05/28 Javascript
vue3 源码解读之 time slicing的使用方法
2019/10/31 Javascript
js实现踩五彩块游戏
2020/02/08 Javascript
使用python搭建Django应用程序步骤及版本冲突问题解决
2013/11/19 Python
使用beaker让Facebook的Bottle框架支持session功能
2015/04/23 Python
批处理与python代码混合编程的方法
2016/05/19 Python
Python 爬虫学习笔记之单线程爬虫
2016/09/21 Python
Python算法之求n个节点不同二叉树个数
2017/10/27 Python
Python中logging.NullHandler 的使用教程
2018/11/29 Python
关于python多重赋值的小问题
2019/04/17 Python
深入了解python列表(LIST)
2020/06/08 Python
HTML5 Canvas旋转动画的2个代码例子(一个旋转的太极图效果)
2014/04/10 HTML / CSS
英国的屈臣氏:Boots博姿
2017/12/23 全球购物
英国手机零售商:Carphone Warehouse
2018/06/06 全球购物
Interflora澳大利亚:同日鲜花速递
2019/06/25 全球购物
大学毕业生的自我鉴定
2013/11/30 职场文书
讲文明树新风演讲稿
2014/05/12 职场文书
作风建设整改方案
2014/10/27 职场文书
2014年社区民政工作总结
2014/12/02 职场文书
迎国庆主题班会
2015/08/17 职场文书
HTTP中的Content-type详解
2022/01/18 HTML / CSS
实战 快速定位MySQL的慢SQL
2022/03/22 MySQL