草庐IT

Getter-Setter

全部标签

javascript - 将 Javascript getter/setter 复制到另一个原型(prototype)对象

//BaseclassvarBase=function(){this._value='base';};Base.prototype={constructor:Base,//ByfunctiongetValue:function(){returnthis._value;},//Bygettergetvalue(){returnthis._value;}};//SubclassextendsBasevarSub=function(){this._value='sub';};Sub.prototype={constructor:Sub};//PassovermethodsSub.protot

javascript - 具有箭头函数语法的 Getter

是否有一种JavaScript语法可以让我更简洁地执行以下操作?classMyClass{staticgetmyProp(){return1;}}这不是什么大不了的事,但我想知道是否有类似箭头函数的东西可以让我让它更精简一点,比如:classMyClass{staticgetmyProp=()=>1;}我知道我可以这样写(虽然不是安全的等价物):classMyClass{}MyClass.myProp=1;或者这个更难阅读且更长的替代方案:classMyClass{}Object.define(MyClass,'myProp',{get:()=>1;});但这感觉像是在滥用class语

javascript - Getter/Setter 和原型(prototype)链

这个问题在这里已经有了答案:Overrideasetter,andthegettermustalsobeoverridden(1个回答)关闭3年前。在当前使用ES6类语法和get/set语法的JavaScript项目中,我偶然发现了一个我无法解释的行为。首先,一个按预期工作的提取演示:classA{constructor(){this.__value=null;}getvalue(){returnthis.__value;}setvalue(value){this.__value=value;}}classBextendsA{}letb=newB();b.value=2;console

javascript - javascript中动态属性的 setter

我想知道是否可以在Javascript中为动态属性设置一个setter?所以这样:varmyobj=newMyObj();myobj.a_custom_prop='something';将调用一个能够检索“a_custom_prop”和“某物”的函数明确地说,我想要一个类似于以下的函数:MyObj.property.define=function(prop,value){};这样调用:myobj.prop=value;代替:myobj.define('prop',value);知道属性的名称相对于myobj不是静态的,否则我会使用:Object.defineProperty(MyObj

javascript - 检查 typescript 类是否有 setter/getter

我有一个具有以下属性的typescript类:exportclassapiAccount{private_balance:apiMoney;getbalance():apiMoney{returnthis._balance;}setbalance(value:apiMoney){this._balance=value;}private_currency:string;getcurrency():string{returnthis._currency;}setcurrency(value:string){this._currency=value;}...我需要为这个类创建一个空白实例:l

javascript - getter 与直接访问模型属性之间的 backbone js 区别

backbone-js使用语法的优势/原因是什么//usingaModelinstancecalledmodelmodel.get('attribute')而不是model.attribute我刚开始使用backbone,我总是发现自己试图直接访问属性 最佳答案 如果您查看源代码,get函数只是调用了this.attributes[name]。http://backbonejs.org/docs/backbone.html#section-31不过,至少有两方面的好处:1)一致的API,可减少您编写的代码量2)能够重写get方法并提

javascript - 为什么 getter 无法访问 React 组件中的状态?

尝试从getter访问组件状态时,我注意到this设置为与普通方法不同的上下文,因此this.state没有工作。看这里:http://jsfiddle.net/tkaby7ks/这是为什么?我如何才能从getter访问状态? 最佳答案 重点是getter是您传递给React.createClass的对象的属性,而不是创建的类的属性:react将其视为一个值。从Reacts的Angular来看,以下2个代码片段完全相同:varMyComponent=React.createClass({foo:"asdf",...})对比varMy

javascript - 如何使用 ECMAScript 5 定义默认的 getter 和 setter?

如何为原型(prototype)指定默认的getter?对于默认getter,我的意思是在调用obj.undefinedProperty123时调用的函数。我试过Object.prototype.get=function(property){..}但在这种情况下不会调用。 最佳答案 在ECMAScript5中,您只能通过Object.defineProperty拦截对特定命名属性(不是所有属性)的获取/设置操作。:Object.defineProperty(someObj,"someProp",{get:function(){con

javascript - Aurelia 绑定(bind) : property-getter called repeatedly

我目前正在学习和使用Aurelia,并且发生了一些奇怪的(也许是正常的)事情。当使用下面的代码时exportclassNavBar{getusername(){console.log('o_o')return'name'+Date.now()}}并且在模板${username}中,用户名始终在更新,每秒更新几次(当然,console.log也会记录多次)。解决方法是简单地使用函数而不是getter并在模板中调用${username()}。但这种行为正常吗?那么我应该有时使用setter/getter有时不使用setter/getter吗?谢谢! 最佳答案

javascript - 从数字文字访问 "getter"的属性时,IE9 中出现奇怪的 `Number.prototype` 行为

Object.defineProperty(Number.prototype,'foo',{get:function(){returnthis}})console.log(10.5.foo)console.log(10..foo)//0inIE9!console.log(10.0.foo)//0inIE9!console.log(10.01.foo)console.log((10).foo)//0inIE9!varx=10console.log(x.foo)//0inIE9!谁能解释这种行为和/或建议解决方法?jsfiddle.net/yr7hQ/ 最佳答案