有没有办法在 JavaScript 中找到原语的所有属性?

Is there a way to find all the attributes of a primitive in JavaScript?

提问人:Tal 提问时间:12/7/2022 更新时间:12/7/2022 访问量:52

问:

例如,在 Python 中,我可以使用

dir(str)

查找字符串数据类型的所有属性和方法。

Javascript 中是否有类似的东西?

只是想要有关 JavaScript 原语的其他信息。这不是一个实际的编码问题。谢谢。

JavaScript的 原始 基元类型

评论

1赞 Sebastian Simon 12/7/2022
JS 中只有少数基元类型,它们的方法在每个构造函数的相应属性上定义,例如 .这些是对象,因此可以在这些对象、任何其他对象或 .请注意,这是一个很好的例子,说明为什么你必须阅读文档,而不是简单地查看方法名称。这些方法中的大多数都已弃用,例如 , , , ...prototypeString.prototypeObject(str)String.prototypebigboldfontcolor
1赞 jsejcksn 12/7/2022
^@Etheryte 我同意文档是一个很好的来源(它几乎总是我的主要来源),但永远不能保证它 100% 反映当前环境的性质(有许多 JS 运行时环境,每个环境都实现了规范的子集和超集)。如果您想确定和准确地了解环境的性质,内省/分析总是比文档更好。

答:

0赞 Dimava 12/7/2022 #1
let o = Object.getPrototypeOf('string') // equals to String.prototype

for (let k of Object.getOwnPropertyNames(o)) {
    console.log(k, o[k])
}

所有其他基元(数字、BigInt 、符号123123nSymbol('symbolDesc'))

但请注意,其中一些可能已被弃用(主要是换行和类似的字符串函数)text.bold() == '<b>'+text+'</b>'

评论

0赞 Tal 12/8/2022
谢谢你清理了。
0赞 Dimava 12/8/2022
@Tal,如果这回答了您的问题,请将其作为答案