![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ES6
文章平均质量分 64
沉沦与遐想。
余生是你,满心欢喜
展开
-
JS数组降维的几种方法
二维数组降维使用数组实例方法concat和ES6扩展运算符降维let arr=[1,2,[3,4],5];let arr1=[].concat(...arr);//先使用扩展运算符打散最外边的数组,concat自带打散粘合数组的功能console.log(arr1);// [1, 2, 3, 4, 5]//ES6之前用apply打散数据的兼容性写法var arr2=[1,2,[3,4],5];var arr3=[].concat.apply([],arr2);console.log(a原创 2021-04-07 10:24:09 · 2037 阅读 · 23 评论 -
ES6学习笔记:Symbol
Symbol什么是Symbol ES6引入了一种新的原始型数据类型 Symbol ,表示独一无二的值。它是JacaScript的第七中数据类型(现在JavaScript的数据类型:String、Number、Boolean、undefined、null、Symbol、Object)。为什么要引入Symbol ES6前所有对象的属性名都是字符串,如果你使用了别人的一个对象,又想为这个对象添加方法时,新方法的方法名就可能和原有方法的名字冲突。ES6中的Symbol值表示独一无二的值,如果属性名使用S转载 2021-04-07 09:21:39 · 226 阅读 · 4 评论 -
前端面试必备:彻底搞懂什么是Promise Promise对象的特点 Promise对象的优缺点 .then .catch .finally ...
ES6 Promise一丶什么是Promise在浏览器中输出一下代码var myPromise = new Promise(function(resolve, reject){ setTimeout(function(){ resolve("hello!"); }, 500);});console.log(myPromise);看图可知:Promise是一个构造函数;__proto__属性中保存了一个地址值,指向了实例化得到的myPromise对象的原原创 2020-12-04 16:57:57 · 1573 阅读 · 8 评论 -
ES6学习笔记: rest参数 和 扩展运算符
rest参数ES6引入用来代替arguments,收集函数的多余参数,放在一个数组中。只要有多个参数的个数不确定的时候,就首选rest参数。该运算符主要用于函数定义。// arguments变量的写法function sortNumber() { //arguments中就收集了所有的实参值 return Array.prototype.slice.call(arguments).sort((a,b)=>a-b); //强行调用数组原型对象上slice方法把arguments原创 2021-03-26 15:23:15 · 311 阅读 · 3 评论 -
js面向对象之公有属性和方法、私有属性和方法、静态方法、实例方法
公有属性和方法,私有属性和方法,静态方法,实例方法什么是公有属性和公有方法属于这个类的所有对象都可以访问到的属性叫做公有属性,都可以访问到的方法叫做公有方法。不论是公有方法还是公有属性都是一个类型下所有实例对象都有的东西。ES5:function Student(sname,sage){ this.sname=sname; // 公有属性 this.sage=sage; // 公有属性}Student.prototype.intr=function(){原创 2021-03-24 14:56:54 · 1211 阅读 · 5 评论 -
ES6 箭头函数基本用法和使用注意的点
箭头函数基本用法ES6 允许使用“箭头”(=>)定义函数。 function fun(a){ return a; }// ↓ 去掉 function 在 ( ) 和 { } 之间添加 => var fun = (a) => { return a; } // ↓ 如果只有一个形参可省略 ( ) 如果一个形参都没有,必须加( ) var fun = a => { return a; } // ↓ 如果函数体只有一句话,可省略{ },如果仅有的原创 2021-03-19 13:48:28 · 4088 阅读 · 5 评论 -
JS常用静态方法总结
JS对象常用静态方法Object.is()用来比较两个值是否严格相等,与严格比较运算符(===)的行为基本一致。不同之处只有两个:一是+0不等于-0,二是NaN等于自身。+0 === -0 //trueNaN === NaN // falseObject.is(+0, -0) // falseObject.is(NaN, NaN) // trueObject.assign()Object.assign(newObject,object1,object2,object3...)用法:原创 2021-03-18 15:46:30 · 2631 阅读 · 3 评论 -
ES6解构赋值 数组解构赋值 对象解构赋值 函数参数解构赋值 解构 参数解构
解构赋值什么是解构赋值:按照一定的模式从数组或者对象中提取值,然后对变量进行赋值,这被称为解构赋值。数组解构赋值基本用法下标对下标。let [a,b,c]=[1,2,3];let [a,[[b],c]=[1,[[2],3]];结果: 同时声明三个变量a,b和c,a拿到值1, b拿到值2,c拿到值3。这种写法属于"模式匹配",只要模式相同左边的变量就会被赋予相对应的值。let [,,third] = ["foo","bar","baz"] //third="baz"(解构部分)let原创 2020-12-17 13:52:40 · 718 阅读 · 2 评论 -
ES6 let var const 对比区别总结 let面试题 JS中var和let const的区别
let var constvar关键字var关键字的用法js中声明变量的关键字。var num = 1;如果在函数作用域中声明,为局部变量;如果在全局中声明,则为全局变量。num = 2;这种写法实际上是赋值,如果在函数作用域中赋值就会去找当前函数作用域中的num,如果当前作用域中没有这个变量就会接着去上一个作用域中寻找,直到找到全局,在全局中如果也并没有声明过这个变量,就会给全局对象window强行添加一个num属性进行赋值。var关键字的缺点1) var会被声明提前,会打乱程序原本原创 2020-12-15 11:05:43 · 2881 阅读 · 16 评论