前端 JS 经典:属性读取方式

朱小落

关注

阅读 28

2024-06-22

前言:属性读取可以使用 obj.xxx 或 obj[xxx]。这两者有什么区别吗。

1. obj.xxx

使用 obj.xxx 读取属性,会转化为对象的内部方法 [[SET]](obj, 'xxx', obj)。第一个参数是读取对象,第二个参数是对象的属性,第三个参数是 this 指向

2. obj[xxx]

使用 obj[xxx] 读取属性,会转化为对象的内部方法 [[SET]](obj, xxx is Symbol ? xxx : String(xxx))。第一个参数是对象,第二个参数是三目运算,判断属性是不是 symbol,是 symbol 直接读,不是 symbol 先转换为字符串。第三个参数是 this 指向。

精彩评论(0)

0 0 举报