如何5分钟内掌握ES6反射与代理的核心概念?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1253个文字,预计阅读时间需要6分钟。
反射:Reflect+反射到到底是什么东西?+它的本质就是一个对象(JS内置的),其中有一些函数可供调用。+为什么要叫做反射?+因为它能做的事情,和其他语言(Java、Python等)中的反射很像。
反射:Reflect
反射到底是个什么东西?
它的本质就是一个对象(JS内置的),里边有一些函数可供调用。
为什要叫做反射?
因为它能做的事情,和其他语言(Java、python等)中的反射很相似。其他语言中都叫做反射了,那就共鸣(降低学习成本?)
反射能做什么事情呢?
let animal = { name: "dog", age: 3 } Reflect.get(animal, "name") // 传参为:对象, 属性名 // 等同于: animal.name let say = function (type, sound) { console.log(`${type}的叫声是${sound}`) } Reflect.apply(say, null, ["猫", "喵喵"]) // 传参为:函数, this指向, 实参列表 // 等同于: say("猫", "喵喵")
经过以上代码我们深刻的发现Reflect好像没什么用,非要说些什么的话,他把我们以前的基本操作(比如:obj.name)用调用函数的方式实现了一遍。对了这就是它的意义:减少JS语言魔法,让代码更加纯粹。
本文共计1253个文字,预计阅读时间需要6分钟。
反射:Reflect+反射到到底是什么东西?+它的本质就是一个对象(JS内置的),其中有一些函数可供调用。+为什么要叫做反射?+因为它能做的事情,和其他语言(Java、Python等)中的反射很像。
反射:Reflect
反射到底是个什么东西?
它的本质就是一个对象(JS内置的),里边有一些函数可供调用。
为什要叫做反射?
因为它能做的事情,和其他语言(Java、python等)中的反射很相似。其他语言中都叫做反射了,那就共鸣(降低学习成本?)
反射能做什么事情呢?
let animal = { name: "dog", age: 3 } Reflect.get(animal, "name") // 传参为:对象, 属性名 // 等同于: animal.name let say = function (type, sound) { console.log(`${type}的叫声是${sound}`) } Reflect.apply(say, null, ["猫", "喵喵"]) // 传参为:函数, this指向, 实参列表 // 等同于: say("猫", "喵喵")
经过以上代码我们深刻的发现Reflect好像没什么用,非要说些什么的话,他把我们以前的基本操作(比如:obj.name)用调用函数的方式实现了一遍。对了这就是它的意义:减少JS语言魔法,让代码更加纯粹。

