JS Object 静态方法 get 操作

发布于 2024-10-21 06:03:00 字数 1816 浏览 17 评论 0

Object.getPrototypeOf()

返回指定对象的原型

var proto = {}
var obj = Object.create(proto)
Object.getPrototypeOf(obj) === proto // true

var reg = /a/
Object.getPrototypeOf(reg) === RegExp.prototype // true

Object.getPrototypeOf( Object.prototype ) === null // true
Object.getPrototypeOf( Object ) === Function.prototype // true

Object.getOwnPropertyDescriptor()

返回指定对象上一个 自有属性 对应的属性描述符。

var o = { bar: 42 }
var d = Object.getOwnPropertyDescriptor(o, "bar")
// d {
//   configurable: true,
//   enumerable: true,
//   value: 42,
//   writable: true
// }

Object.getOwnPropertyDescriptors()

获取一个对象的所有自身属性的描述符。

var o = { bar: 42 ,baz:43}
// {
// bar : {
//   configurable: true,
//   enumerable: true,
//   value: 42,
//   writable: true
// },
// baz : {
//   configurable: true,
//   enumerable: true,
//   value: 43,
//   writable: true
// }
// }

Object.getOwnPropertyNames()

返回一个由指定对象的所有自身属性的属性名(包括不可枚举属性但不包括 Symbol 值作为名称的属性)组成的数组

var my_obj = Object.create({}, {
  getFoo: {
    value: function() { return this.foo },
    enumerable: false
  }
})
my_obj.foo = 1
Object.getOwnPropertyNames(my_obj)
//["getFoo", "foo"]

Object.getOwnPropertySymbols()

返回一个给定对象自身的所有 Symbol 属性的数组

var obj = {}
var a = Symbol("a")
var b = Symbol.for("b")

obj[a] = "localSymbol"
obj[b] = "globalSymbol"

var objectSymbols = Object.getOwnPropertySymbols(obj)

console.log(objectSymbols.length) // 2
console.log(objectSymbols)         // [Symbol(a), Symbol(b)]
console.log(objectSymbols[0])      // Symbol(a)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

你怎么敢

暂无简介

0 文章
0 评论
23 人气
更多

推荐作者

杨绘峰

文章 0 评论 0

听闻余生

文章 0 评论 0

谜兔

文章 0 评论 0

xiaotwins

文章 0 评论 0

你说

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文