ES6
文章平均质量分 50
ES6
九宫格输入法
正在码代码ing
展开
-
19.ES6 Generator函数
Generator函数是es6提供的解决异步编程的方案之一;Generator函数是一个状态机,内部封装了不同状态的数据;Generator 函数组成Generator 有两个区分于普通函数的部分:一是在 function 后面,函数名之前有个 * ;函数内部有 yield 表达式。// generator定义 function后面跟个*号function* myGenerator(){ console.log('业务逻辑A') yield 'hello' conso原创 2021-06-02 12:34:05 · 66 阅读 · 0 评论 -
18.ES6 Promise对象
概述是异步编程的一种解决方案。从语法上说,Promise 是一个对象,从它可以获取异步操作的消息状态的特点Promise 异步操作有三种状态:pending(进行中)、fulfilled(已成功)和 rejected(已失败)。除了异步操作的结果,任何其他操作都无法改变这个状态。Promise 对象只有:从 pending 变为 fulfilled 和从 pending 变为 rejected 的状态改变。只要处于 fulfilled 和 rejected ,状态就不会再变了即 resolved(已原创 2021-06-02 12:29:50 · 144 阅读 · 1 评论 -
17.ES6 模块export & import
概述在 ES6 前, 实现模块化使用的是 RequireJS 或者 seaJS(分别是基于 AMD 规范的模块化库, 和基于 CMD 规范的模块化库)。ES6 引入了模块化,其设计思想是在编译时就能确定模块的依赖关系,以及输入和输出的变量。ES6 的模块化分为导出(export) @与导入(import)两个模块。特点ES6 的模块自动开启严格模式,不管你有没有在模块头部加上 use strict;。模块中可以导入和导出各种类型的变量,如函数,对象,字符串,数字,布尔值,类等。每个模块都有自原创 2021-06-02 12:25:32 · 211 阅读 · 0 评论 -
16.ES6 Class类
在ES6中,class (类)作为对象的模板被引入,可以通过 class 关键字定义类。class 的本质是 function。它可以看作一个语法糖,让对象原型的写法更加清晰、更像面向对象编程的语法类定义class 以及 构造方法 constructorclass Person{ // constructor类构造方法 constructor(name,age){ this.name=name; this.age=age; } // 普原创 2021-06-02 09:33:25 · 62 阅读 · 0 评论 -
15.ES6 数组Arrary
操作数据方法arr.push() 从后面添加元素,返回值为添加完后的数组的长度let arr = [1,2,3,4,5]console.log(arr.push(5)) // 6console.log(arr) // [1,2,3,4,5,5]2 arr.pop() 从后面删除元素,只能是一个,返回值是删除的元素let arr2 = [1,2,3,4,5]console.log(arr2.pop()) // 5console.log(arr2) //[1,2,3,4]原创 2021-06-02 09:31:13 · 185 阅读 · 0 评论 -
14.ES6 对象
前面我们讲过es对象属性简写,解构赋值;我们这里主要讲讲常用的扩展方法对象方法:Object.assign(target, source_1, ···)用于将源对象的所有可枚举属性复制到目标对象中。返回值是target对象,如果目标对象和源对象有同名属性,或者多个源对象有同名属性,则后面的属性会覆盖前面的属性。let target = {a: 1};let object2 = {b: 2};let object3 = {c: 3};let returnObj=Object.assign(tar原创 2021-06-02 09:06:15 · 67 阅读 · 1 评论 -
13.ES6 数值
Number常用方法Number.isFinite() 用来检查一个数值是否为有限的(finite)Number.isNaN() 用来检查一个值是否为NaN注意:对于非数字,不会做隐式类型转换,直接返回falseconsole.log( Number.isFinite(1)); // trueconsole.log( Number.isFinite(0.1)); // true// NaN 不是有限的console.log( Number.isFinite(NaN)); // false原创 2021-06-02 09:00:40 · 79 阅读 · 0 评论 -
12.ES6 字符串
前面讲过模版字符串,这里再把一些常用的es6扩展方法讲下子串的识别let str='es6,ni da ye';console.log("长度:"+str.length)//indexOf 查找字符串中是否包含指定字符串 查找第一次出现的位置,从0开始console.log(str.indexOf('da')) // 返回7//includes():返回布尔值,判断是否找到参数字符串。console.log(str.includes('ni')) // 返回true//startsW原创 2021-06-01 09:40:25 · 62 阅读 · 0 评论 -
11.ES6 Reflect & Proxy
Proxy 与 Reflect 是 ES6 为了操作对象引入的 API 。Proxy 可以对目标对象的读取、函数调用等操作进行拦截,然后进行操作处理。它不直接操作对象,而是像代理模式,通过对象的代理对象进行操作,在进行这些操作时,可以添加一些需要的额外操作。(代理)Reflect 可以用于获取目标对象的行为,它与 Object 类似,但是更易读,为操作对象提供了一种更优雅的方式。它的方法与 Proxy 是对应的。(反射)基本用法Proxy:一个 Proxy 对象由两个部分组成: targ原创 2021-05-28 16:51:34 · 104 阅读 · 0 评论 -
10.ES6 Map & Set
Map对象保存键值对。任何值(对象或者原始值) 都可以作为一个键或一个值。举例:字符串// key是字符串let myMap = new Map();let keyString = "a string";myMap.set(keyString, "和键'a string'关联的值");console.log(myMap.get(keyString))// "和键'a string'关联的值"console.log(myMap.get("a string"));// "和键'a str原创 2021-05-24 17:53:19 · 68 阅读 · 0 评论 -
9.ES6 Symbol类型
ES5 中对象的属性名是都是字符串,容易造成重名;ES6 引入了一种新的原始数据类型 Symbol ,表示独一无二的值,最大的用法是用来定义对象的唯一属性名。ES6 数据类型除了 Number 、 String 、 Boolean 、 Objec t、 null 和 undefined ,还新增了 Symbol 。Symbol 函数栈不能用 new 命令,因为 Symbol 是原始数据类型,不是对象。可以接受一个字符串作为参数,为新创建的 Symbol 提供描述,用来显示在控制台或者作为字符原创 2021-05-24 17:43:17 · 79 阅读 · 0 评论 -
8.ES6 三点运算符
function foo(...value) { console.log(value);}foo(2,4,5);它传递进来实际上是一个数组所以是可以进行遍历的function foo(...value) { console.log(value); value.forEach(function (item,index) { console.log(item,index); })}foo(2,4,5);若有参数是固定的,.原创 2021-05-24 17:39:50 · 113 阅读 · 3 评论 -
7.ES6 箭头函数
在es6中,推出了一个新语法 箭头函数;以前定义一个函数,是这么定义的;let fun=function(){ console.log('我是箭头函数');};fun();现在可以简化下,用箭头函数:let fun=()=>{console.log('我是箭头函数')};fun();然后假如函数体只有一条语句或者是表达式的时候{}可以省略let fun=()=>console.log('我是箭头函数');fun();加形参原创 2021-05-22 14:48:27 · 133 阅读 · 0 评论 -
6.ES6 模板字符串
es6 模版字符串主要用于简化字符串的拼接;看个例子,es6以前的写法;我们来看下实例;定义一个变量,搞两个属性,然后控制台输出;let obj={name:'Jack',age:'20'};let str='姓名:'+obj.name+',年龄:'+obj.age;console.log(str);如果属性多,那拼接量就大了;看下 es6模版字符串写法 用 斜引号和${}符号实现;let obj={name:'Jack',age:'20'};let str=`..原创 2021-05-22 14:36:13 · 92 阅读 · 0 评论 -
5.ES6 对象简写
在es6中,假如 对象里的属性和属性值一样,可以简写,省略属性值;包括对象里的方法定义,也可以省略function;以前的写法:let username='java';let pwd='123456';let obj={ username:username, pwd:pwd}console.log(obj.username,obj.pwd);现在的写法:let username='java';let pwd='123456';let obj={原创 2021-05-22 14:33:06 · 135 阅读 · 0 评论 -
4.ES6 解构赋值
解构赋值是对赋值运算符的扩展。他是一种针对数组或者对象进行模式匹配,然后对其中的变量进行赋值。在代码书写上简洁且易读,语义更加清晰明了;也方便了复杂对象中数据字段获取。变量赋值以前的写法:let obj={username:'java',age:31}; let username=obj.username; let age=obj.age; console.info(username,age);现在的写法:let obj={username:'java',age原创 2021-05-22 14:28:03 · 144 阅读 · 1 评论 -
3.ES6 let & const关键字
ES2015(ES6) 新增加了两个重要的 JavaScript 关键字:let和const。let 声明的变量只在 let 命令所在的代码块内有效。const 声明一个只读的常量,一旦声明,常量的值就不能改变。let关键字是用来取代var的;let作用,与var类似,用于声明一个变量;特点:1,在块级作用域里有效(比如循环遍历内部就可以用let定义变量)<script type="text/javascript"> { let a=0...原创 2021-05-22 14:20:00 · 66 阅读 · 0 评论 -
2.ES6 环境搭建
目前各大浏览器基本上都支持 ES6 的新特性,其中 Chrome 和 Firefox 浏览器对 ES6 新特性最友好,IE7~11 基本不支持 ES6。以下是各大浏览器支持情况及开始时间:Node.js 是运行在服务端的 JavaScript,它对 ES6 的支持度更高。nodejs下载安装&环境配置:https://blog.csdn.net/Stubborn_bull/article/details/114890610node.js&Webstorm配置:http原创 2021-05-22 14:14:36 · 96 阅读 · 0 评论 -
1.ES6简介
1、ECMAScript 的背景ES6, 全称 ECMAScript 6.0 ,是 JavaScript 的下一个版本标准,2015.06 发版。ES6 主要是为了解决 ES5 的先天不足,比如 JavaScript 里并没有类的概念,但是目前浏览器的 JavaScript 是 ES5 版本,大多数高版本的浏览器也支持 ES6,不过只实现了 ES6 的部分特性和功能。JavaScript 是大家所了解的语言名称,但是这个语言名称是商标( Oracle 公司注册的商标)。因此,JavaSc原创 2021-05-22 14:12:34 · 99 阅读 · 0 评论