searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

Vue3源码的学习心得

2023-09-20 08:14:28
3
0

阅读优秀的代码的目的是让我们能够写出优秀的代码
其实就跟我们写作文一样,你看的高分作文越多,写出高分作文的概率就越大
大部分程序员都只会写代码(改,抄,stackoverflow工程师,代名词: 搬砖),会阅读代码的很少,为什么呢?因为国内所有的教育,网课,培训都没有教你怎么去看代码,只教你怎么去写代码。

Reflect.set(target, propkey, value, proxy)是什么意思

 

Reflect.set(target, propKey, value, proxy) 是 JavaScript 中的一个内置方法,用于设置对象的属性值。

参数说明:

  • target:要设置属性值的目标对象。
  • propKey:要设置的属性名。
  • value:要设置的属性值。
  • proxy(可选):如果目标对象是一个代理对象,则传入该代理对象。

Reflect.set() 方法会将指定对象的指定属性设置为指定的值。如果属性不存在,则会创建该属性。如果属性存在并且是一个访问器属性(即具有 getter 和/或 setter 方法),则会调用相应的 setter 方法来设置属性值。

与直接使用赋值操作符 = 不同,Reflect.set() 方法具有以下特点:

  • 如果设置成功,返回 true;如果设置失败,返回 false
  • 如果目标对象是一个代理对象,并且代理对象的 set 拦截器存在,则会触发该拦截器。
  • 如果目标对象的属性设置操作被禁止(例如,目标对象是一个冻结对象),则会抛出一个 TypeError 错误。

 

const obj = { foo: 'bar' };

// 使用 Reflect.set() 方法设置属性值
Reflect.set(obj, 'foo', 'baz');

console.log(obj.foo); // 输出: "baz"

在上面的示例中,Reflect.set(obj, 'foo', 'baz')obj 对象的 foo 属性的值设置为 'baz'。最终输出的结果是 "baz"

总的来说,Reflect.set(target, propKey, value, proxy) 方法是用于设置对象属性值的一种更加灵活和可控的方式。

0条评论
0 / 1000
w****n
4文章数
0粉丝数
w****n
4 文章 | 0 粉丝
w****n
4文章数
0粉丝数
w****n
4 文章 | 0 粉丝
原创

Vue3源码的学习心得

2023-09-20 08:14:28
3
0

阅读优秀的代码的目的是让我们能够写出优秀的代码
其实就跟我们写作文一样,你看的高分作文越多,写出高分作文的概率就越大
大部分程序员都只会写代码(改,抄,stackoverflow工程师,代名词: 搬砖),会阅读代码的很少,为什么呢?因为国内所有的教育,网课,培训都没有教你怎么去看代码,只教你怎么去写代码。

Reflect.set(target, propkey, value, proxy)是什么意思

 

Reflect.set(target, propKey, value, proxy) 是 JavaScript 中的一个内置方法,用于设置对象的属性值。

参数说明:

  • target:要设置属性值的目标对象。
  • propKey:要设置的属性名。
  • value:要设置的属性值。
  • proxy(可选):如果目标对象是一个代理对象,则传入该代理对象。

Reflect.set() 方法会将指定对象的指定属性设置为指定的值。如果属性不存在,则会创建该属性。如果属性存在并且是一个访问器属性(即具有 getter 和/或 setter 方法),则会调用相应的 setter 方法来设置属性值。

与直接使用赋值操作符 = 不同,Reflect.set() 方法具有以下特点:

  • 如果设置成功,返回 true;如果设置失败,返回 false
  • 如果目标对象是一个代理对象,并且代理对象的 set 拦截器存在,则会触发该拦截器。
  • 如果目标对象的属性设置操作被禁止(例如,目标对象是一个冻结对象),则会抛出一个 TypeError 错误。

 

const obj = { foo: 'bar' };

// 使用 Reflect.set() 方法设置属性值
Reflect.set(obj, 'foo', 'baz');

console.log(obj.foo); // 输出: "baz"

在上面的示例中,Reflect.set(obj, 'foo', 'baz')obj 对象的 foo 属性的值设置为 'baz'。最终输出的结果是 "baz"

总的来说,Reflect.set(target, propKey, value, proxy) 方法是用于设置对象属性值的一种更加灵活和可控的方式。

文章来自个人专栏
vue3前端
4 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0