ES6
zh__quan
这个作者很懒,什么都没留下…
展开
-
ES5扩展的两个方法
目录1. Object.create(prototype, [descriptors])2. Object.defineProperties(object, descriptors)1. Object.create(prototype, [descriptors])作用: 以指定对象为原型创建新的对象为新的对象指定新的属性, 并对属性进行描述value: 指定值 -wr...原创 2019-07-10 08:28:12 · 198 阅读 · 0 评论 -
es6(四) 数值扩展 Number
1. 二进制与八进制数值表示法: 二进制用0b, 八进制用0o2. Number.isFinite(i) : 判断是否是有限大的数3. Number.isNaN(i) : 判断是否是NaN4. Number.isInteger(i) : 判断是否是整数5. Number.parseInt(str) : 将字符串转换为对应的数值6. Math.trunc(i) : 直接去除小数部...原创 2019-07-12 12:48:17 · 262 阅读 · 0 评论 -
es6(三) 字符串的操作
模板字符串简化字符串的拼接模板字符串必须用 `` 包含变化的部分使用${xxx}定义str = `我的名字是${obj.name},年龄是${obj.age}` let str = "string"; // 查找字符串是否包含 , 第二个参数可以确认 起始位置 console.log('includes',str.includes("i")); // 字符串 是否...原创 2019-07-12 12:39:53 · 422 阅读 · 0 评论 -
es6(二) 解构赋值
let obj = {username: 'kobe', age: '18'};let {username,age} = obj; // 等同于 username=obj.username,age=obj.ageconsole.log(username, age) // kobe 18let arr=[1,3,'ad',true]let [a,b,c,d] = arr;con...原创 2019-07-12 12:38:23 · 118 阅读 · 0 评论 -
es6(一) let var const 的区别
let声明的变量不会预处理, 不存在变量提升,不允许重复(在同级作用域中)let是块级作用域,函数内部使用let定义后,对函数外部无影响。 类似于临时变量var定义的变量可以修改,如果不初始化会输出undefined,不会报错。const定义的变量不可以修改,其他特点同let,而且必须初始化。const list = [1, 2, 3, 4, 5]for (var ...原创 2019-07-12 12:35:30 · 142 阅读 · 0 评论 -
深度克隆
1、数据类型:* 数据分为基本的数据类型(String, Number, boolean, Null, Undefined)和对象数据类型- 基本数据类型:特点: 存储的是该对象的实际数据- 对象数据类型:特点: 存储的是该对象在栈中引用,真实的数据存放在堆内存里2、复制数据- 基本数据类型存放的就是实际的数据,可直接复制let number2 = 2;let ...原创 2019-07-14 12:07:19 · 136 阅读 · 0 评论 -
es6(十四)set-map数据结构
Set容器 :无序不可重复的多个value的集合体* Set()* Set(array)* add(value) 添加* delete(value) 删除* has(value) 判断value是否存在与容器中* clear() 清除* size 数量let set = new Set([1, 2, 4, 2, 2, 35, 3]);console.l...原创 2019-07-14 12:04:58 · 100 阅读 · 0 评论 -
es6(十三) 类
1. 通过class定义类 / 实现类的继承2. 在类中通过constructor定义构造方法3. 通过new来创建类的实例4. 通过extends来实现类的继承5. 通过super调用父类的构造方法6. 重写从父类中继承的一般方法// 类的一般方法// 定义一个Person类,做父类class Person { // 定义构造方法 constr...原创 2019-07-14 12:00:20 · 111 阅读 · 0 评论 -
es6 (十二)async
async函数(源自ES2017)概念: 真正意义上去解决异步回调的问题, 同步流程表达异步操作本质: Generator的语法糖语法:async function foo() {await 异步操作;await 异步操作;}特点:1、 不需要像Generator去调用next方法, 遇到await等待, 当前的异步操作完成就往下执行2、 返回的总是Pro...原创 2019-07-14 11:58:38 · 122 阅读 · 0 评论 -
es6(十一) Promise
1. 理解:Promise对象: 代表了未来某个将要发生的事件(通常是一个异步操作)有了promise对象, 可以将异步操作以同步的流程表达出来, 避免了层层嵌套的回调函数(俗称 '回调地狱')ES6的Promise是一个构造函数, 用来生成promise实例2. 使用promise基本步骤(2 步):创建promise对象let promise = new Pro...原创 2019-07-14 11:54:06 · 121 阅读 · 0 评论 -
es6(十) genertaor
概念:1、 ES6提供的解决异步编程的方案之一2、 Generator函数是一个状态机, 内部封装了不同状态的数据,3、 用来生成遍历器对象4、 可暂停函数(惰性求值), yield可暂停, next方法可启动。 每次返回的是yield后的表达式结果特点:1、function 与函数名之间有一个星号2、内部用yield表达式来定义不同的状态例如:functio...原创 2019-07-14 11:48:41 · 190 阅读 · 0 评论 -
es6(九) Iterator
概念: iterator是一种接口机制, 为各种不同的数据结构提供统一的访问机制作用:1、 为各种数据结构, 提供一个统一的、 简便的访问接口;2、 使得数据结构的成员能够按某种次序排列3、 ES6创造了一种新的遍历命令for...of循环, Iterator接口主要供for...of消费。工作原理:创建一个指针对象(遍历器对象), 指向数据结构的起始位置。第一次调用n...原创 2019-07-14 11:46:12 · 159 阅读 · 0 评论 -
es6(八) Symbol用法
ES5中对象的属性名都是字符串, 容易造成重名, 污染环境概念: ES6中的添加了一种原始数据类型symbol(已有的原始数据类型: String, Number, boolean, null, undefined, 对象)特点:1、 Symbol属性对应的值是唯一的, 解决命名冲突问题2、 Symbol值不能与其他数据进行计算, 包括同字符串拼串3、 for in ,for ...原创 2019-07-14 11:42:22 · 215 阅读 · 0 评论 -
es6(七) 对象扩展
目录对象的简写方式Object.is(v1, v2)Object.assign(target, source1, source2..)直接操作 __proto__ 属性对象的简写方式let username = "kobe";let age = 18;let obj = { username, // 同名的属性可以省略不写 age, /...原创 2019-07-14 11:36:13 · 98 阅读 · 0 评论 -
es6(六) 箭头函数
作用: 定义匿名函数基本语法:没有参数: () => console.log('xxxx') *一个参数: i => i + 2大于一个参数: (i, j) => i + j函数体不用大括号: 默认返回结果函数体如果有多个语句, 需要用 {}包围, 若有需要返回的内容, 需要手动返回使用场景: 多用来定义回调函数箭头函数的特点:1、 简洁2...原创 2019-07-14 11:19:45 · 167 阅读 · 0 评论 -
es6(五) 数组扩展
目录1. Array.from(v): 将伪数组对象或可遍历对象转换为真数组2. Array.of(v1, v2, v3): 将一系列值转换成数组3. find(): 找出第一个满足条件返回true的元素4. findIndex(): 找出第一个满足条件返回true的元素下标5.fill() 数组批量替换6.for of数组遍历7.copyWithin数组浅复制...原创 2019-07-12 12:59:17 · 155 阅读 · 0 评论