![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
es6
有关es6的学习
gercke
每个人都想把手伸向夜空,去捕捉那属于自己的星星。但却极少的人能正确的知道自己的星星在哪一个位置。
展开
-
内部函数---toPrimitive()
在JavaScript中,如果想要将对象转换成基本类型时,也就是所谓的拆箱时,会调用toPrimitive()。toPrimitive(input,preferedType?)input是输入的值,即要转换的对象,必选;preferedType是期望转换的基本类型,他可以是字符串,也可以是数字。选填,默认为number;执行过程:如果转换的类型是number,会执行以下步骤:如果input是原始值,直接返回这个值;否则,如果input是对象,调用input.valueOf(),如果原创 2021-01-20 21:07:09 · 644 阅读 · 0 评论 -
Array.from()的学习
Array.from() 方法从一个类似数组或可迭代对象创建一个新的,浅拷贝的数组实例。1,Array.from (obj, mapFn)obj指的是数组对象、类似数组对象或者是set对象,mapFn指的是对数组中的元素进行处理的方法//将一个类似数组的对象转为一个数组,并在原来的基础上乘以3倍let arrayLike = { '0': '6', '1': '4', '2': '8', length: 3 }Array.from(arrayLike, x => x*3) //[4,8,.原创 2021-01-19 23:44:54 · 160 阅读 · 0 评论 -
有关promise的补充及复习~~~
1.Promise是用来干什么的?Promise是异步编程的一种解决方案通过优雅的方式可以进行解决回调地狱等问题2.Promise的基本语法如果成功的时候执行resolve函数,那就去执行then里面的失败的时候执行reject函数,去执行catch里面的第一种写法: new Promise((reslove,reject)=>{ //通过steTimeout来模拟异步操作 setTimeout(()=>{ //原创 2020-11-06 23:17:49 · 136 阅读 · 0 评论 -
ES6之字符串,数组扩展
解构赋值一、数组这种写法属于“模式匹配”,只要等号两边的模式相同,左边的变量就会被赋予对应的值。 let [foo, [[bar], baz]] = [1, [[2], 3]]; foo // 1 bar // 2 baz // 3 let [ , , third] = ["foo", "bar", "baz"]; third // "baz" ...原创 2019-11-04 18:06:28 · 303 阅读 · 0 评论 -
ES6之变量与解构赋值
ES6变量变量声明var (函数作用域):可以重新赋值,重新定义let (块级作用域): 不能重新声明,可以修改const (块级作用域):不能重新声明,不能修改–常量 <script> // var 是全局变量, for(var i = 0; i < 10 ; i++ ){ console.log(i);//因为是...原创 2019-11-03 16:50:24 · 100 阅读 · 0 评论 -
ES6模块语法
一、ES6 模块的好处1、由于 ES6 模块是编译时加载,使得静态分析成为可能。有了它,就能进一步拓宽 JavaScript 的语法,比如引入宏(macro)和类型检验(type system)这些只能靠静态分析实现的功能。2、不再需要UMD模块格式了,将来服务器和浏览器都会支持 ES6 模块格式。目前,通过各种工具库,其实已经做到了这一点。3、将来浏览器的新 API 就能用模块格式提供,不再必须做成全局变量或者navigator对象的属性。4、不再需要对象作为命名空间(比如Math对象),未来这些原创 2020-10-14 15:01:51 · 134 阅读 · 0 评论 -
解构之对象理解
解构对象一:解构用于变量声明let node = { name: 'mike', age: 25};let {name, age} = node;console.log(name); // mikeconsole.log(age); // 25let/const/var 后面跟上用一对{}包裹的变量列表,变量名与对象属性名相同,则就会取对象属性对应的值初始化变量。二:解构用于变量赋值let node = { name: 'mike', age: 25};原创 2020-10-10 20:24:14 · 450 阅读 · 0 评论 -
class继承
继承子类必须在constructor方法中调用super方法 class ColorPoint extends Point { constructor(x, y, color) { super(x, y); // 调用父类的constructor(x, y) this.color = color; } toString() { return ...原创 2019-12-04 19:44:25 · 117 阅读 · 0 评论 -
Class基础
Class原创 2019-12-04 19:43:47 · 144 阅读 · 0 评论 -
async
asyncasync函数对 Generator 函数的改进,体现在以下四点。(1)内置执行器。async函数自带执行器。也就是说,async函数的执行,与普通函数一模一样,只要一行。(2)更好的语义。async和await,比起星号和yield,语义更清楚了。async表示函数里有异步操作,await表示紧跟在后面的表达式需要等待结果。(3)更广的适用性。async函数的await命令后...原创 2019-12-02 21:58:22 · 216 阅读 · 0 评论 -
Generator
Generator首先可以把它理解成,Generator 函数是一个状态机,封装了多个内部状态。Generator 函数除了状态机,还是一个遍历器对象生成函数。Generator 函数有两个特征。一是,function关键字与函数名之间有一个星号;二是,函数体内部使用yield表达式,定义不同的内部状态. function* helloWorldGenerator() { yi...原创 2019-12-02 21:11:57 · 73 阅读 · 0 评论 -
Iterator
Iterator它是一种接口,为各种不同的数据结构提供统一的访问机制。任何数据结构只要部署 Iterator 接口,就可以完成遍历操作(即依次处理该数据结构的所有成员)。Iterator 的作用:为各种数据结构,提供一个统一的、简便的访问接口;使得数据结构的成员能够按某种次序排列;ES6 创造了一种新的遍历命令for…of循环,Iterator 接口主要供for…of消费。...原创 2019-12-02 19:25:07 · 66 阅读 · 0 评论 -
Promise
PromisePromise对象,可以将异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数。此外,Promise对象提供统一的接口,使得控制异步操作更加容易。Promise对象有以下两个特点。(1)对象的状态不受外界影响。Promise对象代表一个异步操作,有三种状态:pending(进行中)、fulfilled(已成功)和rejected(已失败)。(2)Promise对象...原创 2019-11-26 21:36:50 · 71 阅读 · 0 评论 -
proxy
proxyProxy 用于修改某些操作的默认行为,等同于在语言层面做出修改,所以属于一种“元编程”(meta programming),即对编程语言进行编程。原创 2019-11-26 17:58:46 · 737 阅读 · 0 评论 -
ES6之set和map
set类似数组,只有value,但是没有key通过构造函数方式创建一个set实例参数是一个数组(或者类似数组只有iterable接口:数组,arguments,元素集合,Set,Map,字符串)会默认去重const s = new Set();[2, 3, 5, 4, 5, 2, 2].forEach(x => s.add(x));for (let i of s) {...原创 2019-11-24 20:34:24 · 125 阅读 · 0 评论 -
ES6之symbol
symbolES6 引入了一种新的原始数据类型Symbol,表示独一无二的值。它是 JavaScript 语言的第七种数据类型,前六种是:undefined、null、布尔值(Boolean)、字符串(String)、数值(Number)、对象(Object)。let s = Symbol();typeof s// "symbol"Symbol函数可以接受一个字符串作为参数,表示...原创 2019-11-07 21:16:29 · 83 阅读 · 2 评论 -
ES6之对象的扩展
对象属性的简洁表示法ES6 允许在大括号里面,直接写入变量和函数,作为对象的属性和方法。const foo = 'bar';const baz = {foo};baz // {foo: "bar"}// 等同于const baz = {foo: foo};除了属性简写,方法也可以简写。const o = { method() { return "Hello...原创 2019-11-07 17:44:20 · 72 阅读 · 0 评论 -
ES6之函数扩展
函数参数默认值ES6 允许为函数的参数设置默认值,即直接写在参数定义的后面。 function log(x, y = 'World') { console.log(x, y); } console.log('Hello') // Hello World console.log('Hello', 'China') // Hello China cons...原创 2019-11-04 21:32:27 · 62 阅读 · 0 评论