js-ES6学习笔记-Promise对象】的更多相关文章

Promise对象是为了简化异步编程.解决回调地狱情况 Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果.从语法上说,Promise 是一个对象,从它可以获取异步操作的消息. Promise对象用于延迟(deferred) 计算和异步(asynchronous ) 计算.一个Promise对象代表着一个还未完成,但预期将来会完成的操作. Promise是一个对象,可以用构造函数来创建一个Promise实例. let promise = new Pr…
ES6学习笔记(2019.7.29) 目录 ES6学习笔记(2019.7.29) let和const let let 基本用法 let 不存在变量提升 暂时性死区 不允许重复声明 块级作用域 级作用域 ES6的块级作用域 块级作用域与函数声明 const 基本用法 本质 顶层对象 解构赋值 数组的解构 基本用法 默认值 对象的解构 基本用法 默认值 注意点 字符串的解构 数值布尔值的解构 函数参数的解构 圆括号问题 不能使用圆括号的情况 可以使用圆括号的情况 用途 for.for in.for…
1.Promise实例具有then方法,也就是说,then方法是定义在原型对象Promise.prototype上的.它的作用是为Promise实例添加状态改变时的回调函数. 2.Promise.prototype.catch方法是.then(null, rejection)的别名,用于指定发生错误时的回调函数. 3.Promise 对象的错误具有“冒泡”性质,会一直向后传递,直到被捕获为止.也就是说,错误总是会被下一个catch语句捕获. 4.一般来说,不要在then方法里面定义Reject状…
1.Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大. 2.所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果.从语法上说,Promise 是一个对象,从它可以获取异步操作的消息. 3.对象的状态不受外界影响.Promise对象代表一个异步操作,有三种状态:Pending(进行中).Resolved(已完成,又称 Fulfilled)和Rejected(已失败).只有异步操作的结果,可以决定当前是哪一…
前提摘要 尤大大的vue3.0即将到来,虽然学不动了,但是还要学的啊,据说vue3.0是基于proxy来进行对值进行拦截并操作,所以es6的proxy也是要学习一下的. 一 什么是proxy Proxy 对象用于定义基本操作的自定义行为(如属性查找,赋值,枚举,函数调用等) --摘自MDN Proxy 用于修改某些操作的默认行为,等同于在语言层面做出修改,所以属于一种"元编程"(meta programming),即对编程语言进行编程. --摘自阮一峰的ES6入门 Proxy 这个词的…
ES6 为对象字面量添加了几个实用的功能,虽然这几个新功能基本上都是语法糖,但确实方便. 一.属性的简洁表示法 当定义一个对象时,允许直接写入一个变量,作为对象的属性,变量名就是属性名. 例1: , y = , o = { x, y } 与例2: var x = 2, y = 3, o = { x: x, y: y } 是相同的. 二.方法的简洁表示法 下面的例子是方法的简洁表示法(例3) let o = { m (x) { console.log(x); } } o.m("Hello!&quo…
1.属性的简洁表示法 const foo = 'bar'; const baz = {foo}; baz // {foo: "bar"} // 等同于 const baz = {foo: foo}; ES6 允许在对象之中,直接写变量.这时,属性名为变量名, 属性值为变量的值. let birth ='2000/01/01'; const Person={ name:'张三', //等同于birth: birth birth, // 等同于hello: function ()... h…
参考书<ECMAScript 6入门>http://es6.ruanyifeng.com/ 对象的扩展 1.属性名的简洁表示法 : ES6允许在代码中直接写变量,变量名是属性名,变量值是属性值.  let key = "value";  let obj = {key};//obj {key : "value"}2.方法的简写表示法  let obj = {        method : function(x,y){          return {x…
1.Object.is() ES5 比较两个值是否相等,只有两个运算符:相等运算符(==)和严格相等运算符(===).它们都有缺点,前者会自动转换数据类型,后者的NaN不等于自身,以及+0等于-0. Object.is就是部署这个算法的新方法.它用来比较两个值是否严格相等,与严格比较运算符(===)的行为基本一致. Object.is('foo', 'foo') // true Object.is({}, {}) // false 不同之处只有两个:一是+0不等于-0,二是NaN等于自身. +0…
1.属性的简洁表示法 ES6 允许直接写入变量和函数,作为对象的属性和方法.这样书写更加简洁. const foo = 'bar'; const baz = {foo}; baz //{foo: "bar"} //等同于 const baz = { foo: foo}; baz //{foo: "bar"} 上面代码表明,ES6 允许在对象之中,直接写变量.这时,属性名为变量名,属性值为变量的值.下面是另一个例子. function f(x, y){ return…