您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

JavaScript中Reflect的详细介绍(附示例)

2025/6/8 3:24:59发布9次查看
本篇文章给大家带来的内容是关于javascript中reflect的详细介绍(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
reflect 是一个内置的对象,它提供可拦截javascript操作的方法。方法与代理处理程序的方法相同。reflect 不是一个函数对象,因此它是不可构造的。
    new reflect() //错误的写法
reflect使用
reflect提供了一些静态方法,静态方法是指只能通过对象自身访问的的方法
1、reflect.apply()
2、reflect.construct()
3、reflect.defineproperty()
4、reflect.deleteproperty()
5、reflect.enumerate()
6、reflect.get()
7、reflect.getownpropertydescriptor()
8、reflect.getprototypeof()
9、reflect.has()
10、reflect.isextensible()
11、reflect.ownkeys()
12、reflect.preventextensions()
13、reflect.set()
14、reflect.setprototypeof()
静态方法的使用:
demo1:使用reflect.get()获取目标对象指定key的value。
let obj = {    a: 1};let s1 = reflect.get(obj, a)console.log(s1) // 1
demo1的get()方法,拦截obj对象,然后读取key为a的值。当然,不用reflect也可以读取a的值。
demo2:使用reflect.apply给目标函数floor传入指定的参数。
const s2 = reflect.apply(math.floor, undefined, [1.75]); console.log(s2) // 1/ /reflect.apply()提供了3个参数,// 第一个参数是反射的函数,后面2个参数才是和数组的apply一致。
demo2的例子我们可以理解成是拦截了math.floor方法,然后传入参数,将返回值赋值给s2,这样我们就能在需要读取这个返回值的时候调用s2。
demo3:使用reflect.ownkeys获取对象的keys
    console.log(reflect.ownkeys({a:0,b:1,c:2,d:3})); //输出 :[a, b, c, d]    console.log(reflect.ownkeys([])); // [length]          var sym = symbol.for(comet);          var sym2 = symbol.for(meteor);          var obj = {        [sym]: 0, str: 0, 773: 0, 0: 0,              [sym2]: 0, -1: 0, 8: 0, second str: 0    };          reflect.ownkeys(obj);     //输出:/ [ 0, 8, 773, str, -1, second str, symbol(comet), symbol(meteor) ]
reflect.ownkeys的排序是根据: 先显示数字, 数字根据大小排序,然后是 字符串根据插入的顺序排序
以上就是javascript中reflect的详细介绍(附示例)的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product