
ES6
_Jester
这个作者很懒,什么都没留下…
展开
-
ES6特性:变量解构赋值
ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构。他是一种针对数组或者对象进行模式匹配,对其中的变量进行赋值,只要等号两边的模式相同,左边的变量就会被赋值。解构模型解构的源,解构赋值表达式的右边部分;解构的目标,解构表达式的左边部分数组模型的解构let [a,b,b]=[1,2,3]; // a=1 b=2 c=3可嵌套let [a,[...原创 2019-03-06 16:44:07 · 202 阅读 · 0 评论 -
ES6特性:Symbol类型
ES5中有6中数据类型:undefined、null、Boolean、String、Number、Object;ES6引入了一种新的原始数据类型:Symbol,表示独一无二的值。ES5的对象属性名都是字符串,这很容易出现属性名的冲突。如果你使用了一个别人提供的对象,现在想为这个对象添加新的方法,新方法的名字就有可能和现有方法产生冲突。如果有一种机制,保证每个属性的名字都是独一无二的,这样就从根...原创 2019-03-13 14:35:29 · 472 阅读 · 0 评论 -
ES6特性:箭头函数
ES6允许使用"箭头"(=>)定义函数。基本语法:参数=>函数体var f = v => v; //等价于var f = function(v){ return v;};如果箭头函数不需要参数或需要多个参数,需要使用()括起来var f = () => 1; //等价于var f = function () { return 1 }...原创 2019-03-12 18:01:32 · 450 阅读 · 0 评论 -
ES6特性:对象的扩展
对象(object)是JavaScript重要的数据结构,ES6对它进行了很大的改善。(1)属性的简洁表示法ES6允许直接写入变量和函数,作为对象的属性和方法。ES6允许在对象之中直接写变量。这时属性名就是变量名,属性值就是变量值。同时方法也可以简写,如果是Generator函数,前面需要加上星号。const foo='aa';const baz={foo};baz ...原创 2019-03-25 11:31:19 · 189 阅读 · 0 评论 -
ES6特性:Map数据结构
Javascript的对象,本质上是键值对的集合,但是传统上只能用字符串当作键。ES6提供了Map数据结构,它类似于对象,也是键值对的集合,但是"键"的范围不限于字符串,各种类型的值(包括对象)都可以当作键。let m=new Map();let o={p:'key'};m.set(o,'aaa');m.get(o); // 'aaa'作为构造函数,Map也可以接受一个数...原创 2019-03-19 11:14:39 · 1368 阅读 · 0 评论 -
ES6特性:数值新增方法
ES6在Number对象上,提供了新的方法去操作数值。(1)Number.isFinite():用来检测一个数值是否为有限的(finite),即不是Infinity。返回布尔值如果参数类型不是数值,一律返回false。Number.isFinite(15); // trueNumber.isFinite(NaN); // falseNumber.isFinite(In...原创 2019-03-19 17:52:22 · 290 阅读 · 0 评论 -
ES6特性:模板字符串
模板字符串相当于加强版的字符串,用单引号 ` 标识。它可以当作普通普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量或表达式。// 普通字符串let str=`hello'\n'world`; // hello// world// 多行字符串let str=`hello,this is a string`;// hello,// this is a stri...原创 2019-03-11 17:43:39 · 2105 阅读 · 0 评论 -
ES6特性:字符串新增方法
字符串识别ES6 之前判断字符串是否包含子串,用 indexOf 方法,ES6 新增了子串的识别方法。ES6新增三种方法(1)includes():返回布尔值,判断是否找到参数字符串(2)startsWith():返回布尔值,判断参数字符串是否在原字符串的头部(3)endsWith():返回布尔值,判断参数字符串是否在原字符串的尾部三个方法都可以两个参数 -- 需要查找的字符串...原创 2019-03-06 16:43:59 · 185 阅读 · 0 评论 -
ES6特性:let 和 const命令
ES6新增let命令,用来声明变量。(1)用法类似于var,但是let声明的变量,只在let所在的代码块内有效。{ var a=1; let b=2;}console.log(a); // 1console.log(b); // 报错 b is not definedfor (let i = 0; i < 10; i++) { }co...原创 2019-03-02 17:00:07 · 214 阅读 · 0 评论 -
ES6特性:Spread操作符
Spread操作符(...),又称展开操作符,可以将可迭代的(Iterable)对象展开例1:将数组A插入到数组B中,可以通过Spread操作符var A=[1,2,3];var B=["a","b",...A,"c"]console.log(B); // B为["a","b",1,2,3,"c"]通过Spread操作符对数组A进行展开,就可以将A数组中的元素变成B原创 2019-03-02 14:55:31 · 1100 阅读 · 0 评论 -
ES6特性:Set数据结构
ES6提供了新的数据结构Set。类似于数组,但是成员的值是唯一的,没有重复的值。用法Set本身是一个构造函数,用来生成Set数据结构。Set函数可以接受一个数组(或者具有iterable接口的其他数据结构)作为参数const s=new Set();[1,2,3,1,1,4].forEach( v => s.add(v) );console.log(s); // {1...原创 2019-03-14 10:27:48 · 254 阅读 · 0 评论