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核心读书有感之类型、值和变量
Feb 11 Javascript
jquery实现的V字形显示效果代码
Oct 27 Javascript
JavaScript_object基础入门(必看篇)
Jun 13 Javascript
浅谈js的ajax的异步和同步请求的问题
Oct 07 Javascript
Javascript 正则表达式校验数字的简单实例
Nov 02 Javascript
最好用的Bootstrap fileinput.js文件上传组件
Dec 12 Javascript
Javascript创建类和对象详解
May 31 Javascript
Ionic3 UI组件之Gallery Modal详解
Jun 07 Javascript
vue+vuecli+webpack中使用mockjs模拟后端数据的示例
Oct 24 Javascript
Vue2.0 实现移动端图片上传功能
May 30 Javascript
vue el-table实现行内编辑功能
Dec 11 Javascript
React-vscode使用jsx语法的问题及解决方法
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
php学习笔记 PHP面向对象的程序设计
2011/06/13 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(二)
2014/06/23 PHP
微信开发之网页授权获取用户信息(二)
2016/01/08 PHP
PHP入门教程之正则表达式基本用法实例详解(正则匹配,搜索,分割等)
2016/09/11 PHP
js css样式操作代码(批量操作)
2009/10/09 Javascript
Array, Array Constructor, for in loop, typeof, instanceOf
2011/09/13 Javascript
firebug的一个有趣现象介绍
2011/11/30 Javascript
利用百度地图JSAPI生成h7n9禽流感分布图实现代码
2013/04/15 Javascript
JavaScript参数个数可变的函数举例说明
2014/10/10 Javascript
Python脚本后台运行的几种方式
2015/03/09 Javascript
最实用的jQuery分页插件
2016/10/09 Javascript
JS获取IE版本号与HTML设置IE文档模式的方法
2016/10/09 Javascript
解决layer 关闭当前弹窗 关闭遮罩层 input值获取不到的问题
2019/09/25 Javascript
JS使用正则表达式判断输入框失去焦点事件
2019/10/16 Javascript
javascript浅层克隆、深度克隆对比及实例解析
2020/02/09 Javascript
JavaScript实现手风琴效果
2021/02/18 Javascript
[06:43]DAC2018 4.5 SOLO赛 Maybe vs Paparazi
2018/04/06 DOTA
[01:15]PWL S2开团时刻第二期——他们杀 我就白给
2020/11/25 DOTA
使用Python生成url短链接的方法
2015/05/04 Python
python爬虫 正则表达式使用技巧及爬取个人博客的实例讲解
2017/10/20 Python
Windows下的Jupyter Notebook 安装与自定义启动(图文详解)
2018/02/21 Python
Tensorflow实现卷积神经网络用于人脸关键点识别
2018/03/05 Python
win7+Python3.5下scrapy的安装方法
2018/07/31 Python
CentOS6.9 Python环境配置(python2.7、pip、virtualenv)
2019/05/06 Python
Python中PyQt5/PySide2的按钮控件使用实例
2019/08/17 Python
Python flask路由间传递变量实例详解
2020/06/03 Python
python代数式括号有效性检验示例代码
2020/10/04 Python
如何用 Python 制作 GitHub 消息助手
2021/02/20 Python
HTML5 canvas基本绘图之绘制矩形
2016/06/27 HTML / CSS
DC Shoes澳大利亚官方网上商店:购买DC鞋子
2019/10/25 全球购物
党性心得体会
2014/09/03 职场文书
财务人员个人工作总结
2015/02/27 职场文书
Nginx 负载均衡是什么以及该如何配置
2021/03/31 Servers
python blinker 信号库
2022/05/04 Python
Redis基本数据类型Set常用操作命令
2022/06/01 Redis
Android中View.post和Handler.post的关系
2022/06/05 Java/Android