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 面向对象的 私有成员和公开成员
May 13 Javascript
json数据处理技巧(字段带空格、增加字段、排序等等)
Jun 14 Javascript
使用纯javascript实现经典扫雷游戏
Apr 23 Javascript
TypeScript 中接口详解
Jun 19 Javascript
分享一些常用的jQuery动画事件和动画函数
Nov 27 Javascript
js无法获取到html标签的属性的解决方法
Jul 26 Javascript
Node.JS 循环递归复制文件夹目录及其子文件夹下的所有文件
Sep 18 Javascript
去掉vue 中的代码规范检测两种方法(Eslint验证)
Mar 21 Javascript
JS同步、异步、延迟加载的方法
May 05 Javascript
js实现数字从零慢慢增加到指定数字示例
Nov 07 Javascript
javascript实现用户必须勾选协议实例讲解
Mar 24 Javascript
JS继承最简单的理解方式
Mar 31 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为php增加openssl模块的方法
2011/06/14 PHP
php计算到指定日期还有多少天的方法
2015/04/14 PHP
PHP设置images目录不充许http访问的方法
2016/11/01 PHP
php实现文件与16进制相互转换的方法示例
2017/02/16 PHP
IE6下focus与blur错乱的解决方案
2011/07/31 Javascript
jQuery制作简单柱状图实例
2015/01/28 Javascript
JS限制文本框只能输入数字和字母方法
2015/02/28 Javascript
JQuery中serialize() 序列化
2015/03/13 Javascript
js实现TAB切换对应不同颜色的代码
2015/08/31 Javascript
jQuery实现TAB选项卡切换特效简单演示
2016/03/04 Javascript
JS+Canvas 实现下雨下雪效果
2016/05/18 Javascript
Bootstrap实现渐变顶部固定自适应导航栏
2020/08/27 Javascript
layui select动态添加option的实例
2018/03/07 Javascript
vue给组件传递不同的值方法
2018/09/29 Javascript
vue实现中部导航栏布局功能
2019/07/30 Javascript
利用soaplib搭建webservice详细步骤和实例代码
2013/11/20 Python
使用Pyrex来扩展和加速Python程序的教程
2015/04/13 Python
Python实现的栈、队列、文件目录遍历操作示例
2019/05/06 Python
使用GitHub和Python实现持续部署的方法
2019/05/09 Python
python调用自定义函数的实例操作
2019/06/26 Python
浅谈图像处理中掩膜(mask)的意义
2020/02/19 Python
基于Python的身份证验证识别和数据处理详解
2020/11/14 Python
django inspectdb 操作已有数据库数据的使用步骤
2021/02/07 Python
定义css设备类型-Media Queries图表简介及使用方法
2013/01/21 HTML / CSS
美国葡萄酒网上商店:Martha Stewart Wine Co.
2019/03/17 全球购物
初中军训感想300字
2014/03/05 职场文书
企业管理标语
2014/06/10 职场文书
娱乐节目策划方案
2014/06/10 职场文书
员工生日会策划方案
2014/06/14 职场文书
欢迎横幅标语
2014/06/17 职场文书
优秀教师个人材料
2014/12/15 职场文书
2015年党员创先争优承诺书
2015/01/22 职场文书
吴仁宝观后感
2015/06/09 职场文书
你知道哪几种MYSQL的连接查询
2021/06/03 MySQL
详解Alibaba Java诊断工具Arthas查看Dubbo动态代理类
2022/04/08 Java/Android
分析MySQL优化 index merge 后引起的死锁
2022/04/19 MySQL