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 相关文章推荐
jQuery中get和post方法传值测试及注意事项
Aug 08 Javascript
Uploadify上传文件方法
Mar 16 Javascript
Bootstrap Paginator分页插件使用方法详解
May 30 Javascript
AngularJS控制器之间的数据共享及通信详解
Aug 01 Javascript
AngularJS实现单独作用域内的数据操作
Sep 05 Javascript
Angular中实现树形结构视图实例代码
May 05 Javascript
vue2实现数据请求显示loading图
Nov 28 Javascript
JS求Number类型数组中最大元素方法
Apr 08 Javascript
jQuery实现的点击标题文字切换字体效果示例【测试可用】
Apr 26 jQuery
vue 组件内获取actions的response方式
Nov 08 Javascript
JS实现拖拽元素时与另一元素碰撞检测
Aug 27 Javascript
Vue使用路由钩子拦截器beforeEach和afterEach监听路由
Nov 16 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
雄兵连:天使彦天使彦为爱折翼,彦和炙心同时念动的誓言!
2020/03/02 国漫
在PHP中使用灵巧的体系结构
2006/10/09 PHP
解决MySQL中文输出变成问号的问题
2008/06/05 PHP
php strftime函数获取日期时间(switch用法)
2018/05/16 PHP
(currentStyle)javascript为何有时用style得不到已设定的CSS的属性
2007/08/15 Javascript
JS版网站风格切换实例代码
2008/10/06 Javascript
简单实用的js调试logger组件实现代码
2010/11/20 Javascript
js中window.open打开一个新的页面
2014/08/10 Javascript
js调试工具Console命令详解
2014/10/21 Javascript
javascript实现十秒钟后注册按钮可点击的方法
2015/05/13 Javascript
javascript实现的简单的表单验证
2015/07/10 Javascript
Jquery实现弹性滑块滑动选择数值插件
2015/08/08 Javascript
BootStrap 智能表单实战系列(五) 表单依赖插件处理
2016/06/13 Javascript
JavaScript九九乘法口诀表的简单实现
2016/10/04 Javascript
Webpack实现按需打包Lodash的几种方法详解
2017/05/08 Javascript
JS简单实现滑动加载数据的方法示例
2017/10/18 Javascript
使用Bootrap和Vue实现仿百度搜索功能
2017/10/26 Javascript
原生JS+HTML5实现跟随鼠标一起流动的粒子动画效果
2018/05/03 Javascript
vue车牌号校验和银行校验实战
2019/01/23 Javascript
echarts实现词云自定义形状的示例代码
2019/02/20 Javascript
vue2.x 对象劫持的原理实现
2020/04/19 Javascript
vue实现登录功能
2020/12/31 Vue.js
Python函数默认参数常见问题及解决方案
2020/03/26 Python
Nike台湾官方商店:Nike.com (TW)
2017/08/16 全球购物
Armor Lux法国官方网站:水手服装、成衣和内衣
2020/05/26 全球购物
乌克兰设计师和品牌的服装:Love&Live
2020/04/14 全球购物
应届毕业生求职信范文
2013/12/18 职场文书
工作的心得体会
2013/12/31 职场文书
文明礼仪小标兵事迹
2014/01/12 职场文书
校园安全检查制度
2014/02/03 职场文书
支部书记四风问题自我剖析材料
2014/09/29 职场文书
2014感恩节演讲稿大全
2014/10/11 职场文书
语文教师求职信范文
2015/03/20 职场文书
Python的这些库,你知道多少?
2021/06/09 Python
JavaScript实现登录窗体
2021/06/22 Javascript
MySQL 8.0 驱动与阿里druid版本兼容问题解决
2021/07/01 MySQL