【发布时间】:2019-11-23 07:49:26
【问题描述】:
有Object.values fo Object.keys 之类的方法,但是为什么这些方法不在对象的原型中呢?这样做有充分的理由吗?
例子:
const user = { name: 'John', role: 'admin' };
const keys = user.keys() // instead of Object.keys(user);
const values = user.values() // instead of Object.values(user);
【问题讨论】:
-
因为那会和
const user = {keys: function(){}}; user.keys()冲突。 -
IMO,尽可能保持
prototype对象干净,因为不是每个对象都会使用它们。
标签: javascript object methods prototype