![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
es6
weixin_43910427
这个作者很懒,什么都没留下…
展开
-
Es6 复阅(15-1)(部分是非es6的) -- Object.assign
1.为对象添加属性 class Point { constructor(x, y) { Object.assign(this, { x, y }) } } let result = new Point('我是x', '我是y'); console.log(result.x); //我是x2.为对象添加方法 Point.prototype.addMethod = function(arg1, arg2) { return arg1 + arg2;原创 2020-05-21 16:57:02 · 114 阅读 · 0 评论 -
Es6 复阅(14)(部分是非es6的) --对象的新增方法
Object.is()原创 2020-05-12 14:22:21 · 68 阅读 · 0 评论 -
Es6 复阅(13)(部分是非es6的) --对象的扩展(3)原型对象,扩展运算符
super 指向当前对象的原型对象 const proto = { foo:'hello' } const obj = { foo:'world', find(){ return super.foo; } } Object.setPrototypeOf(obj,proto); let res = obj.find(); console.lo...原创 2020-05-11 19:45:31 · 118 阅读 · 1 评论 -
Es6 复阅(12)(部分是非es6的) --对象的扩展(2)
tip:bind方法创造的函数,name属性返回bound加上原函数的名字Function构造函数创造的函数,name属性返回anonymous1.属性的可枚举性和遍历Object.getOwnPropertyDescriptor方法可以获取该属性的描述对象 let obj = { name:1 } let desc = Obj.getOwnPropertyDescriptor...原创 2020-05-09 09:03:53 · 60 阅读 · 0 评论 -
Es6 复阅(11)(部分是非es6的) --对象的扩展
1.属性简洁表示let obj = {like:11};let obj2 = {obj};// //相当于以下的写法 let obj2 = {obj:obj}console.log(obj2);// { obj: { like: 11 } }个人理解,和解构的过程是相反的,解构: let {obj} = obj2;// let obj = obj2.obj2.方法简写...原创 2020-05-08 19:37:53 · 125 阅读 · 0 评论 -
import 与 require -- 模块化
就路由中引入模块的语句component(resolve){require([../${component}.vue], resolve) }与 import( /webpackChunkName:page/ ‘…/page.vue’)原创 2020-05-07 08:57:56 · 201 阅读 · 0 评论 -
Es6 复阅(10-3)(部分是非es6的) --数组的扩展 ( Array.of ,find , findIndex,includes)
Array ofArray.of 基本上可以用来替代Array()或new Array(),并且不存在由于参数不同而导致的重载。它的行为非常统一。不同参数个数 Array ,new Array 以及 Array.of 的表现: console.log('----Array----') console.log(Array(1)); //[ <1 empty item> ] c...原创 2020-04-15 18:48:07 · 127 阅读 · 0 评论 -
Es6 复阅(10-2)(部分是非es6的) --数组的扩展 ( Array.from )
Array.fromArray.from(arrayLike, mapFn, thisArg)1 参数一是转换的对象2 参数二是一个map方法3 参数三是map里面this的指向Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括 ES6 新增的数据结构 Set 和 Map)类似数组的对象:(...原创 2020-04-13 10:11:00 · 214 阅读 · 0 评论 -
Es6 复阅(10-1)(部分是非es6的) --数组的扩展 (扩展运算符)
1.扩展运算符扩展运算符(spread)是三个点(…)。它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列。 [1, 3, 4, ...[5, 6, 7, 8, 9], 7, 54, 232]; //[ 1, 3, 4, 5, 6, 7, 8, 9, 7, 54, 232 ]...原创 2020-04-12 11:26:30 · 77 阅读 · 0 评论 -
Es6 复阅(9-2)(部分是非es6的) --函数的扩展(尾调用,尾递归)
【尾调用优化,尾递归】,无尽的递归确实让人头疼,一不小心还死循环了,栈溢出,满满的问号,需要康康有没有更好的方法原创 2020-04-10 11:58:55 · 222 阅读 · 0 评论 -
八一八严格模式
只要函数参数使用了默认值、解构赋值、或者扩展运算符,那么函数内部就不能显式设定为严格模式 //参数默认值 function testFn(a, b = 1) { 'use strict'; // Illegal 'use strict' directive in function with non-simple parameter list console.lo...原创 2020-04-08 10:35:45 · 124 阅读 · 0 评论 -
Es6 复阅(9-1)(部分是非es6的) --函数的扩展 (形参解构赋值,reset,箭头函数)
1.可以给函数设置默认值 function testFn(x, y = '默认y') { console.log(x);//undefined console.log(y);//默认y } testFn()设置默认值在某些时候是十分有用的,当这个变量的值基本是固定的,只有特殊的几个不同时候,只要将特殊的调用的时候进行传值就可以啦 function printTem(...原创 2020-04-07 21:49:06 · 190 阅读 · 0 评论 -
Es6 复阅(5)(部分是非es6的) --数值的扩展 (方法)
1.Math.trunc()用法:去除一个数的小数部分,返回整数部分模拟方法: Math.trunc = Math.trunc || function (data) { return data > 0 ? Math.floor(data) : Math.ceil(data); }例子: console.log(Math.trunc(3.333333));//3 conso...原创 2020-04-06 14:35:37 · 77 阅读 · 0 评论 -
Es6 复阅(4)(部分是非es6的) --数值的扩展 (检验方法)
Number.isNaN() (参数类型不是数值,一律返回false)此方法的作用:检验一个数值是否为NaN console.log(Number.isNaN(NaN));//true console.log(Number.isNaN('55'));//false console.log(Number.isNaN(99));//falseNumber.isFinite() (参...原创 2020-04-04 21:46:44 · 73 阅读 · 0 评论 -
Es6 复阅(4)(部分是非es6的) --数值的扩展 (进制)
二进制(0b 或 0B)与八进制 (0o 与 0O)八进制可以写成 0xx,但是在严格模式下会报错,所以最好写成上面的格式:( 0b 或 0B)与 (0o 与 0O) 开头的进制数转十进制需要用Number()十进制数转其他进制:toString()一个非十进制数转换为十进制数的通用方法:上面说的特殊开头的除外这个做法即是,由这个数的最低位起,为0次方,依次往高位递增,这个位...原创 2020-04-02 17:21:49 · 105 阅读 · 0 评论 -
Es6 复阅(3)(部分是非es6的) -- 字符串正则
字符串的正则方法:match: let strTest = 'abchjkhlabckjlklabclklabc'; let patternTest = /abc/g //结果 [ 'abc', 'abc', 'abc', 'abc' ] // 如果找不到就返回 nullreplace: let strTest = 'abchjkhlabckjlklabclklabc'; l...原创 2020-03-26 15:59:29 · 54 阅读 · 0 评论 -
Es6 复阅(2)(部分是非es6的)-- 字符串的方法(raw...,trim)
标签模板“:标签模板”的一个重要应用,就是过滤 HTML 字符串,防止用户输入恶意内容(理解不了) let message = SaferHTML`<p>${sender} has sent you a message.</p>`; function SaferHTML(templateData) { let s = templateData[0]; ...原创 2020-03-24 11:19:16 · 175 阅读 · 0 评论 -
Es6 复阅(1)(部分是非es6的)-- 解构
1.TDZ :在代码块内,使用let命令声明变量之前,该变量都是不可用的。这在语法上,称为“暂时性死区”(temporal dead zone,简称 TDZ)。 – 这使得typeof 不再绝对安全,在let 变量之前只用typeof 变量 会报语法错误块级作用域:ES6 的块级作用域必须有大括号,如果没有大括号,JavaScript 引擎就认为不存在块级作用域。const : (声明常量的...原创 2020-03-21 21:39:51 · 65 阅读 · 0 评论