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 相关文章推荐
offsetParent 算法分析
Apr 05 Javascript
jquery 元素控制(追加元素/追加内容)介绍及应用
Apr 21 Javascript
jquery序列化表单以及回调函数的使用示例
Jul 02 Javascript
jQuery实现流动虚线框的方法
Jan 29 Javascript
jQuery实现折线图的方法
Feb 28 Javascript
jQuery随手笔记之常用的jQuery操作DOM事件
Nov 29 Javascript
基于Node.js的JavaScript项目构建工具gulp的使用教程
May 20 Javascript
微信小程序Redux绑定实例详解
Jun 07 Javascript
基于mpvue小程序使用echarts画折线图的方法示例
Apr 24 Javascript
vue+element树组件 实现树懒加载的过程详解
Oct 21 Javascript
vue:el-input输入时限制输入的类型操作
Aug 05 Javascript
JavaScript设计模式之原型模式详情
Jun 21 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
1982年日本摄影师镜头下的中国孩子 那无忧无虑的童年
2020/03/12 杂记
Re:从零开始的异世界生活 第2季 开播啦
2020/07/24 日漫
PHP缓存技术的多种方法小结
2012/08/14 PHP
PHP empty函数报错解决办法
2014/03/06 PHP
以实例全面讲解PHP中多进程编程的相关函数的使用
2015/08/18 PHP
基于PHP实现等比压缩图片大小
2016/03/04 PHP
javascript中关于执行环境的杂谈
2011/08/14 Javascript
js截取小数点后几位的写法
2013/11/14 Javascript
判断浏览器的内核及版本号方法汇总
2015/01/05 Javascript
深入理解JavaScript系列(29):设计模式之装饰者模式详解
2015/03/03 Javascript
jQuery代码实现图片墙自动+手动淡入淡出切换效果
2016/05/09 Javascript
JavaScript中windows.open()、windows.close()方法详解
2016/07/28 Javascript
完美解决jQuery符号$与其他javascript 库、框架冲突的问题
2016/08/09 Javascript
浅谈jQuery中的eq()与DOM中element.[]的区别
2016/10/28 Javascript
js返回顶部实例分享
2016/12/21 Javascript
详解nodejs模板引擎制作
2017/06/14 NodeJs
利用JavaScript实现栈的数据结构示例代码
2017/08/02 Javascript
让网站自动生成章节目录索引的多个js代码
2018/01/07 Javascript
浅析Node.js非对称加密方法
2018/01/29 Javascript
Vue中computed与methods的区别详解
2018/03/24 Javascript
Python生成随机密码的方法
2017/06/16 Python
python urllib urlopen()对象方法/代理的补充说明
2017/06/29 Python
浅析Python四种数据类型
2018/09/26 Python
python实现京东订单推送到测试环境,提供便利操作示例
2019/08/09 Python
Python ckeditor富文本编辑器代码实例解析
2020/06/22 Python
Python+Kepler.gl实现时间轮播地图过程解析
2020/07/20 Python
一文读懂Python 枚举
2020/08/25 Python
python 解决函数返回return的问题
2020/12/05 Python
俄罗斯香水和化妆品购物网站:Л’Этуаль
2018/05/10 全球购物
校庆活动方案
2014/03/31 职场文书
扬尘污染防治方案
2014/06/15 职场文书
活动总结格式
2014/08/30 职场文书
2014年接待工作总结
2014/11/26 职场文书
敬老院义诊活动总结
2015/05/07 职场文书
MyBatis配置文件解析与MyBatis实例演示
2022/04/07 Java/Android
Python docx库删除复制paragraph及行高设置图片插入示例
2022/07/23 Python