随笔分类 -  ES6

摘要:什么是Relect? Reflect是反射的意思。 Proxy和Reflect是ES6为了操作对象引入的API. Reflect可以用于获取目标对象的行为。它与Object类似,但是更易读,为操作对象提供了一种更优雅的方式。它的方法与Proxy是对应的。 ES6中将Object的一些明显属于语言内部 阅读全文
posted @ 2020-10-10 23:10 小耳朵兔 阅读(606) 评论(0) 推荐(0)
摘要:什么是Proxy? Proxy 是 ES6 中新增的功能,它可以用来自定义对象中的操作。(用来修改某些操作的默认行为) 等同于在语言层面修改,所以属于“元编程”,即对编程语言进行编程。 Proxy可以对目标对象的读取、函数调用等操作进行拦截,然后进行操作处理,它不直接操作对象,而是像代理模式,通过对 阅读全文
posted @ 2020-10-10 21:21 小耳朵兔 阅读(470) 评论(0) 推荐(0)
摘要:一、准备 1.1 区别实例对象与函数对象 实例对象:new 构造函数产生的对象,称为实例对象,简称对象。 将函数作为对象使用时,称为函数对象。 function Fn(){}//Fn只能称为函数 var fn = new Fn();//只有使用new 操作符创建实例对象时,Fn才能成为构造函数。fn 阅读全文
posted @ 2020-10-04 17:45 小耳朵兔 阅读(117) 评论(0) 推荐(0)
摘要:1. 对象的简洁表示法 允许直接写入对象和函数作为对象的属性和方法。(允许只写属性名,不写属性值,这时属性值等于属性名所代表的变量。方法省略:function) 2. 属性名表达式 表达式放在方括号内。(注意属性名表达式和简洁表示法不能同时使用,会报错;属性名表达式如果是一个对象,会自动将对象转为字 阅读全文
posted @ 2020-10-03 16:26 小耳朵兔 阅读(116) 评论(0) 推荐(0)
摘要:1. 扩展运算符 它是rest参数的逆运算,将一个数组转为用逗号分隔的参数序列。 可用来代替数组的apply方法: var args = [0,1,2]; //ES5 f.apply(null,args); Math.max.apply(null,args); Array.prototype.pus 阅读全文
posted @ 2020-10-02 21:52 小耳朵兔 阅读(148) 评论(0) 推荐(0)
摘要:1. 函数参数的默认值 优点是简洁,有利于代码优化。 注意: 参数变量是默认声明的,不能使用let和const再次声明,否则会报错。 使用参数默认值时不能有同名参数。 参数默认值是不传值的,每次都重新计算默认值表达式的值 参数默认值的位置: 如果非尾部的参数设置默认值,这个参数是无法省略的,否则会报 阅读全文
posted @ 2020-09-29 18:42 小耳朵兔 阅读(197) 评论(0) 推荐(0)
摘要:1. 二进制(0b或0B)和八进制(0o或0O) 表示法 ES5严格模式中不允许使用前缀0表示八进制,ES6进一步明确要使用前缀0o表示。 可以使用Number()方法将前缀0B和0x和0o的字符串转为十进制。 2.Nubber.isFinite()和Number.isNaN() 分别用来检查数值是 阅读全文
posted @ 2020-09-29 15:47 小耳朵兔 阅读(232) 评论(0) 推荐(0)
摘要:1. 字符的unicode表示法新增大括号表示法 (补充:JavaScript内部字符以UTF-16形式存储,每个字符固定为两个字节,对于那些需要4个字节存储的字符。默认它们是两个字符) 2. codePointAt() 能正确处理四个字节的字符,返回字符的码点(charCodeAt()返回对应位置 阅读全文
posted @ 2020-09-27 18:14 小耳朵兔 阅读(156) 评论(0) 推荐(0)
摘要:1. 基本用法 声明变量,形成块级作用域 2. 不存在变量声明提升 在声明之前使用会报错 3. 暂时性死区 只要块级作用域存在let命令,它所声明的变量就绑定这个区域,不再受外部影响。在let命令声明变量之前,都属于变量的“死区”,只要使用该变量就会报错。(暂时性死区和没有变量提升主要就是为了减少运 阅读全文
posted @ 2020-09-27 11:08 小耳朵兔 阅读(87) 评论(0) 推荐(0)