一.Reflect对象基础

Reflect对象是ES6出现的新的API,用于操作对象内部的方法。

特点:

1. 对于操作有明确的返回结果。如返回布尔值表示操作成功与否

2. 和Proxy的拦截方法一一对应,实现操作的默认行为

3.将in,delete,new等命令,用方法实现

4.该对象的方法将逐渐取代Object上的方法

二.静态方法

和Proxy的拦截方法一一对应,一共有13个方法;

所有方法的第一个参数都必须是对象。否则报错。

返回布尔值的方法有:

1. Reflect.set(target,propKey, value, receiver)

target[propKey] = value; // 操作是否成功

如果传入receiver,则this指向receiver

2. Reflect.has(target, propKey)

propKey in target

3. Reflect.deleteProperty(target, propKey)

delete target[propKey] // 操作是否成功

4. Reflect.setPrototypeOf(target, proto)

target.__proto__ = proto; // 操作是否成功

5. Reflect.defineProperty(target, propKey, propDescriotor)

Object.defineProperty(target, propKey, propDescriptor)//操作是否成功

6. Reflect.isExtensible(target)

Object.isExtensible(target)

7.Reflect.preventExtensions(target)

Object.preventExtensions(target)// 返回操作是否成功

返回非布尔值的方法有:

1. Reflect.get(target, propKey,receiver)

target[propKey]

1.如果方法中传入了receiver参数,那么,如果getter方法中有this,this指向receiver

2.如果不存在,返回undefined

2. Reflect.construct(Target, args)

new Target(...args)

3. Reflect.getPrototypeOf(target)

target.__proto__

4. Reflect.apply(fn, thisArg, args)

Function.prototype.apply.call(target, thisArg, args);

5. Reflect.getOwnPropertyDescriptor(target, propKey)

Object.getOwnPropertyDescriptor(target, propKey)

6.Reflect.ownKeys(target)

Object.getOwnPropertyNames(target) +
Object.getOwnPropertySymbols(target)

最新文章

  1. app的描述
  2. 【python】为什么修改全局的dict变量不用global关键字
  3. Android working with Volley
  4. 新建的表如果还没有数据,用exp导的时候会忽略
  5. Linux下mysql自动备份
  6. MFC、WTL、WPF、wxWidgets、Qt、GTK、Cocoa、VCL 各有什么特点?
  7. Gnome Tetravex
  8. Java笔记--File,FileInputStream,FileReader,InputStreamReader,BufferedReader 的使用和区别
  9. poj1552
  10. SQL 和 .NET Framework 数据类型对应表
  11. html头部规范书写
  12. Linux环境下安装配置Node.js
  13. SVN服务器搭建--Subversio与TortoiseSVN的配置安装(Windows)
  14. springboot全局捕获异常
  15. Spring MVC 返回Json数据环境记录
  16. redis应用--位图
  17. Vue stage3
  18. ovs常用操作
  19. 11.0-uC/OS-III就绪列表(优先级)
  20. #9 //[SDOI2017]新生舞会

热门文章

  1. C++Primer 5th Chap7 Classes
  2. 强类型c语言 类型
  3. go 数组的定义和赋值
  4. 原来你是这样的PaaS!
  5. [Vue]vue-router嵌套路由(子路由)
  6. Spring基础篇——DI/IOC和AOP原理初识
  7. 在论坛中出现的比较难的sql问题:6(动态行转列 考试科目、排名动态列问题)
  8. Oracle 11g Dataguard 配置,维护与详解 (ADG)
  9. 目标检测---搬砖一个ALPR自动车牌识别的环境
  10. NLP传统基础(3)---潜在语义分析LSA主题模型---SVD得到降维矩阵