错误代码:let foo
{foo} = {foo:"Mosan:}
console.log(foo)
这样会报错,声明和赋值分开应该这样写let foo
({foo} = {foo:"Mosan:}) //加上括号
console.log(foo)
感觉对我来说没啥用……现在还是菜鸡,很少用到,所以先记录一下原文:https://www.cnblogs.com/mengsha/p/13742657.html
自从有了es6的set数据结构,数组的去重可以简单用一行代码实现,比如下面的方式let arr = [1, 2, 2, 3, 4]
function unique (arr) {return [...new Set(arr)]
}
console.log(unique(arr)) // [1, 2, 3, 4]但是当数组的项不再是简单的数据类型时,比如是对象时,这种方法就会导致错误,比如下面的结果let arr = [{ name: ‘a‘, num: 1},{ name: ‘b‘, num: 1},{ name: ‘c‘, num: 1},{ name: ‘d‘, num: 1},{ name: ‘a‘, num:...
promise对象,用来传递异步操作的消息。它代表了某个未来才会知道结果的事件(通常是一个异步操作),并且这个事件提供统一的API。promise对象有两个特点:1.对象的状态不受外界影响。promise对象代表一个异步操作,有3种状态:pending(进行种),resolved(已完成,又称fulfilled),rejected(已失败)。只有异步操作的结果可以决定当前是哪一种状态,任何其他操作都无法改变这个状态。这也是"promise"这个名字的由来,它在英语中...
说明Node.js中,以异步(Async)回调著称,使用了异步,提高了程序的执行效率,但是,代码可读性较差的。
假如有几个异步操作,后一个操作需要前一个操作的执行完毕之后返回的数据才能执行下去,如果使用Node.js,就需要一层层嵌套下去,Promised对象就是针对此问题所提出来的的解决办法。基本概念Promise对象状态:pending
初始状态,也称为未定状态,就是初始化Promise时,调用executor执行器函数后的状态。fulfilled
完成状态,意味...
1、ES5http://www.w3school.com.cn/jsref/jsref_obj_math.asp2、ES6Math.trunc() - 取整,去掉一个数的小数部分 console.log(Math.trunc(3.5)); // 3console.log(Math.trunc(-3.5)); // -3// 对于非数值,Math.trunc() 内部使用Number()方法咸江奇转化为数值console.log(Math.trunc(‘123.456‘)); //123console.log(Math.trunc(NaN)); // NaNconsole.log(Math.trunc(‘abc‘)); // NaNconsole.log(Math.trunc()); // NaN Math....
这节课学习ES6中对象字面量扩展和新增模板字符串第一部分:对象字面量扩展1.简洁写法 ES6对于对象字面量属性提供了简写方式。1.1:属性简写//传统写法var x = 2, y = 3,o = {x: x,y: y};//ES6简洁写法var x = 2, y = 3,o = {x, //属性名和赋值变量名相同时,可简写 y}; 1.2:方法简写//传统写法var o = {x: function() {//... },y: function() {//... }}//ES6简洁写法var o = {x() {/...
Promise的含义promise是异步编程的一种解决方法。所谓promise,简单说是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果,从语法上说,promise是一个对象,从它可以获取异步操作的消息,promise提供了统一的API,各种异步操作都可以用同样的方法进行处理。Promise对象的特点(1)对象的状态不受外界影响,promise对象代表一个异步操作,有三种状态,pending(进行中)、fulfilled(已成功)、rejected(已...
变量功能被加强了、函数功能被加强了,那么作为JavaScript中最普遍的对象,不加强对得起观众吗?对象类别在ES6中,对象分为下面几种叫法。(不需要知道概念)1、普通对象2、特异对象3、标准对象4、内建对象对象字面量语法拓展随便打开一个js文件,对象都无处不在,看一个简单的对象。{a: 2
}
ES6针对对象的语法扩展了一下功能1、属性初始值简写//ES5
function a(id) {return {id: id};
};//ES6
const a = (id) => ({id
})
2、对象方...
es6 Promise 对象是异步编程的一种解决方案。(在javascript世界里,是单线程顺序执行的)从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。Promise 异步操作有三种状态:pending(进行中)、fulfilled(已成功)和 rejected(已失败)。除了异步操作的结果,任何其他操作都无法改变这个状态。Promise 对象只有:从 pending 变为 fulfilled 和从 pending 变为 rejected 的状态改变。只要处于 fulfilled 和 rejected ,...
一、概念 Promise是异步编程的一种解决方案(解决回调地狱的问题),是一个能够获取异步操作信息的对象。Promise的内部保存着某个未来才会结束的事件(通常是一个异步操作)二、特点 1.Promise对象的状态不受外界影响 Promise对象的状态由异步操作的结果决定当前处于pending(进行中)、fulfilled(已成功)还是rejected(已失败),任何其他操作都无法改变这个状态。 2.状态改变不可逆 一旦状态改变,就不...
es6 Promise 对象是异步编程的一种解决方案。(再javascript世界里,是单线程顺序执行的)从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。 Promise 异步操作有三种状态:pending(进行中)、fulfilled(已成功)和 rejected(已失败)。除了异步操作的结果,任何其他操作都无法改变这个状态。Promise 对象只有:从 pending 变为 fulfilled 和从 pending 变为 rejected 的状态改变。只要处于 fulfilled 和 rejected ...
1.属性的简洁表示法ES6 允许在大括号里面,直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁。const foo = 'bar';
const baz = {foo};
baz // {foo: "bar"}// 等同于
const baz = {foo: foo};上面代码中,变量foo直接写在大括号里面。这时,属性名就是变量名, 属性值就是变量值。下面是另一个例子。function f(x, y) {return {x, y};
}// 等同于function f(x, y) {return {x: x, y: y};
}f(1, 2) // Object {x: 1, y...
Array.from() 将数组对象转化为数组,应用方式Array.from(arr) arr数组对象的名称;常用与类似数组的对象是DOM操作返回的Nodelist集合(如: let ps = document.querySelectorAll(‘p‘)),函数内部的arguments对象(如:function(){ let args = Array.from(arguments); //...})备注: querySelectorAll(‘‘)返回的是一个类似数组的对象,只有将对象转化为数组才可以调用forEach方法。栗子:let arrlike = {‘0‘:‘a‘,‘1‘:‘b...
在ES5中 对象属性名都是字符串,这容易造成属性名的冲突,比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法(mixin 模式),新方法的名字就有可能与现有方法产生冲突,于是 ES6 引入了Symbol。Symbol是一种新的原始数据类型,表示独一无二的值。它是继undefined、null、布尔值(Boolean)、字符串(String)、数值(Number)、对象(Object)六种数据类型之后的第七种数据类型。凡是属性名属于 Symbol 类型,就都是...
ES6中json的2个变化简写:名字和值相同时,json可以可以简写let a=12,b=5;
let json = {a,b
}
console.log(json) // { a:12 , b:5 } 省略function:json中的函数可以简写let persen ={name:‘倩倩‘,age:18,showName(){alert(this.name)}
}
persen.showName() ES6与传统面向对象传统面向对象:类和构造函数在一起,为对象添加方法时使用prototype。传统面向对象实例如下:function Person(name,age){this.name = name;this.age = a...