随笔分类 -  ES6

摘要:Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了 Promise 对象。 Promise 对象有以下两个特点。 (1)对象的状态不受外界影响。 (2)一旦状态改变,就不会再变,任 阅读全文
posted @ 2021-05-21 16:40 铁打的代码流水的bug 阅读(142) 评论(0) 推荐(0)
摘要:属性名的遍历 Symbol 作为属性名,遍历对象的时候,该属性不会出现在 for...in 、 for...of 循环中,也不会被 Object.keys() 、 Object.getOwnPropertyNames() 、 JSON.stringify() 返回。 但是,它也不是私有属性,有一个 阅读全文
posted @ 2021-04-29 17:27 铁打的代码流水的bug 阅读(325) 评论(0) 推荐(0)
摘要:作为属性名的 Symbol 由于每一个 Symbol 值都是不相等的,这意味着 Symbol 值可以作为标识符,用于对象的属性名,就能保证不会出现同名的属性。这对于一个对象由多个模块构成的情况非常有用,能防止某一个键被不小心改写或覆盖。 1. let mySymbol = Symbol(); 2. 阅读全文
posted @ 2021-04-28 17:37 铁打的代码流水的bug 阅读(181) 评论(0) 推荐(0)
摘要:Symbol ES6 引入了一种新的原始数据类型 Symbol ,表示独一无二的值。它是 JavaScript 语言的第七种数据类型,前六种是: undefined 、 null 、布尔值(Boolean)、字符串(String)、数值(Number)、对象(Object)。 1. let s = 阅读全文
posted @ 2021-04-28 14:07 铁打的代码流水的bug 阅读(130) 评论(0) 推荐(0)
摘要:Object.keys() ES5 引入了 Object.keys 方法,返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历(enumerable)属性的键名。 1. var obj = { foo: 'bar', baz: 42 }; 2. Object.keys(obj) 3. // [ 阅读全文
posted @ 2021-04-28 11:21 铁打的代码流水的bug 阅读(69) 评论(0) 推荐(0)
摘要:Object.getOwnPropertyDescriptors() ES5 的 Object.getOwnPropertyDescriptor() 方法会返回某个对象属性的描述对象(descriptor)。ES2017 引入了 Object.getOwnPropertyDescriptors() 阅读全文
posted @ 2021-04-28 10:53 铁打的代码流水的bug 阅读(135) 评论(0) 推荐(0)
摘要:super 关键字 我们知道, this 关键字总是指向函数所在的当前对象,ES6 又新增了另一个类似的关键字 super ,指向当前对象的原型对象。 1. const proto = { 2. foo: 'hello' 3. }; 4. 5. const obj = { 6. foo: 'worl 阅读全文
posted @ 2021-04-27 15:42 铁打的代码流水的bug 阅读(118) 评论(0) 推荐(0)
摘要:方法的 name 属性 函数的 name 属性,返回函数名。对象方法也是函数,因此也有 name 属性。 1. const person = { 2. sayName() { 3. console.log('hello!'); 4. }, 5. }; 6. 7. person.sayName.nam 阅读全文
posted @ 2021-04-27 15:14 铁打的代码流水的bug 阅读(115) 评论(0) 推荐(0)
摘要:属性的简洁表示法 ES6 允许在大括号里面,直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁。 1. const foo = 'bar'; 2. const baz = {foo}; 3. baz // {foo: "bar"} 4. 5. // 等同于 6. const baz = { 阅读全文
posted @ 2021-04-27 14:49 铁打的代码流水的bug 阅读(147) 评论(0) 推荐(0)
摘要:数组实例的 includes() Array.prototype.includes 方法返回一个布尔值,表示某个数组是否包含给定的值,与字符串的 includes 方法类似。ES2016 引入了该方法。 1. [1, 2, 3].includes(2) // true 2. [1, 2, 3].in 阅读全文
posted @ 2021-04-27 14:21 铁打的代码流水的bug 阅读(105) 评论(0) 推荐(0)
摘要:数组实例的 find() 和 findIndex() 数组实例的 find 方法,用于找出第一个符合条件的数组成员。它的参数是一个回调函数,所有数组成员依次执行该回调函数,直到找出第一个返回值为 true 的成员,然后返回该成员。如果没有符合条件的成员,则返回 undefined 。 1. [1, 阅读全文
posted @ 2021-04-27 11:17 铁打的代码流水的bug 阅读(83) 评论(0) 推荐(0)
摘要:扩展运算符 扩展运算符(spread)是三个点( ... )。它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列。 1. console.log(...[1, 2, 3]) 2. // 1 2 3 3. 4. console.log(1, ...[2, 3, 4], 5) 5. // 阅读全文
posted @ 2021-04-27 10:09 铁打的代码流水的bug 阅读(102) 评论(0) 推荐(0)
摘要:rest 参数 ES6 引入 rest 参数(形式为 ...变量名 ),用于获取函数的多余参数,这样就不需要使用 arguments 对象了。rest 参数搭配的变量是一个数组,该变量将多余的参数放入数组中。 1. function add(...values) { 2. let sum = 0; 阅读全文
posted @ 2021-04-26 14:03 铁打的代码流水的bug 阅读(107) 评论(0) 推荐(0)
摘要:箭头函数 ES6 允许使用“箭头”( => )定义函数。 1. var f = v => v; 2. 3. // 等同于 4. var f = function (v) { 5. return v; 6. }; 如果箭头函数不需要参数或需要多个参数,就使用一个圆括号代表参数部分。 1. var f 阅读全文
posted @ 2021-04-26 11:22 铁打的代码流水的bug 阅读(91) 评论(0) 推荐(0)
摘要:函数参数的默认值 为了避免这个问题,通常需要先判断一下参数 y 是否被赋值,如果没有,再等于默认值。 1. if (typeof y 'undefined') { 2. y = 'World'; 3. } ES6 允许为函数的参数设置默认值,即直接写在参数定义的后面。 1. function log 阅读全文
posted @ 2021-04-26 09:58 铁打的代码流水的bug 阅读(68) 评论(0) 推荐(0)
摘要:JavaScript 所有数字都保存成 64 位浮点数,这给数值的表示带来了两大限制。一是数值的精度只能到 53 个二进制位(相当于 16 个十进制位),大于这个范围的整数,JavaScript 是无法精确表示的,这使得 JavaScript 不适合进行科学和金融方面的精确计算。二是大于或等于2的1 阅读全文
posted @ 2021-04-25 17:24 铁打的代码流水的bug 阅读(334) 评论(0) 推荐(0)
摘要:Math.trunc() Math.trunc 方法用于去除一个数的小数部分,返回整数部分。 1. Math.trunc(4.1) // 4 2. Math.trunc(4.9) // 4 3. Math.trunc(-4.1) // -4 4. Math.trunc(-4.9) // -4 5. 阅读全文
posted @ 2021-04-24 12:06 铁打的代码流水的bug 阅读(68) 评论(0) 推荐(0)