问题标签 [defineproperty]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 引用 Object.defineProperty(#value) 里面的当前实例
我试图使该方法getColor()
不可配置,但是当我尝试使用this.color
它来引用 Fruit“类”的当前实例属性时,它不起作用。好像this
没有引用Fruit
实例。如何引用实例?
为属性定义的函数体不是突变体,这里只是一个例子
javascript - 如何使用 object.defineproperty 在 javascript 中定义 getter 和 setter
我一直在尝试使用 object.defineproperty 编写 getter 和 setter,但不能。我一直在尝试这个示例,但由于没有定义 firstName 属性而引发错误。有人可以帮我吗
谢谢
javascript - 如何防止对象属性不在javascript中扩展
我试图密封一个对象属性。
我的问题是,在这里我给了 Object.seal(personObject),这个特定的对象是密封的,不允许在这个对象中配置或进行任何扩展,但正如我没有在 personObject_2 上提到的那样,它确实允许扩展或配置
我怎样才能在原型上做到这一点。我的意思是任何类型的人都应该拥有/尊重这个印章。我们能实现这样的行为吗
谢谢
javascript - for 循环中的 Object.defineProperty
在我的代码中,我有一个对象,
我想定义一些这样的属性:
它对我来说很好,但它只是一段代码。我想,让我的代码更短会更好,我决定不只是复制和重命名它,而是使用这样的 for 循环:
但这只是一个问题。我从最后一个项目中得到所有项目 inf 的相同值。有没有可能解决这个问题?
javascript - 使属性可调用或不可调用
我想让一个属性要么可调用,要么不可调用。例如:
这样我就可以做到:
test.string // initially returns 'here is text'
test.string('new text here') // sets obj.someString to 'new text here'
test.string // returns 'next text here'
上面的代码目前没有按照我想要的方式运行。无论如何在JavaScript中做这样的事情吗?使用Object.defineProperty
或不使用
javascript - 如何使属性/方法可调用或不可调用?
我想实现这个功能:
- 我有一个对象
var obj = {};
我在那个 obj 上有三个属性,
obj.zero
&obj.one
&obj.binaryString
obj.zero
&obj.one
是方法,obj.binaryString
而是字符串
当我链接属性时,我希望它们将各自的数字添加到binaryString
. 例如:
obj.one.zero.zero.one
=> 使obj.binaryString
=1001
obj.one.zero.one.one.zero
=> 使obj.binaryString
=10110
我已经实现了上述功能:
现在我想注销已完成的binaryString
,加上additionalString
我用下面的代码完成的:
所以用这个当前的代码我可以做到这一点:
我想要做的是摆脱log
和使one
andzero
方法可调用或不可调用,以便我可以实现此功能:
我怎样才能做到这一点?
我相信它的功能类似于Chalk的工作原理:
typescript - 打字稿装饰器和 Object.defineProperty 奇怪的行为
我正在尝试实现一个覆盖属性 (1) 并定义隐藏属性 (2) 的装饰器。假设以下示例:
哪个输出:
但是,我宁愿期望:
因为enumerable
是true
为了propA
。
现在,如果get
我set
用
现在的输出是:
虽然enumerable
被明确设置为false
for _propA
in f
。
因此,尽管这些行为可能很奇怪,但我想了解这里发生了什么,以及我将如何实现我想要得到的东西?
javascript - How to allow to add property on object but stop Modifying set of properties on object
I have some global object CD and it has set of properties as follows:
#xA;I want user to allow add properties to cd and cd.config but properties cd.a, cd.b, cd.config.title
to be sealed (no modification allowed) .
User should not be able to delete window.cd or these properties as well (Other properties he can delete or modify).
I tried with following:
#xA;but it thrown following error:
window.cd.config.title.seal is not a function
javascript - defineProperty 描述符参数和 Object.prototype 的困境
我defineProperty
用来创建对象属性,函数中的descriptor
参数是否一定需要是object
. 这是代码:
为什么我们必须将一个Object传递给Descriptor
参数
我有以下两个代码片段,我正在创建一个构造函数,然后使用它创建对象。这两个代码在控制台中返回相同的输出。使用.prototype.Methodname
会改变什么吗?
1
2
代码用法如下:
typescript - TypeScript:如何向内置类添加静态方法
无论如何,是否可以向 , , 等类型添加一些Date
静态String
方法Array
?
例如,我想向类添加方法today
,Date
而在 JavaScript 中,我可以简单地向它添加一个属性,或者我可以使用 Object.defineProperty:
但无论如何我都没有找到TypeScript
关于这个新静态成员的信息。我错过了什么还是我用谷歌搜索的方式不对?