草庐IT

replica_device_setter

全部标签

javascript - ES6 类的 getter 和 setter 实际上是什么?

ES6类定义中的get和set方法是什么?它们实际上是原型(prototype)属性吗?例如:classPerson{constructor(){};getname(){return'jack';}setname(){//???}}这是否等于Person.prototype.name='jack'?此外,我还看到了使用实例prop的setter示例:classPerson{constructor(){this._name='jack';};getname(){returnthis._name;}setname(val){this._name=val;}}我不想这样做;我想要这样的东西:

javascript - `getter` 和 `setter` 在 JavaScript 中是必需的吗?

classEmployee{constructor(name,age){this._name=name;this.age=age;}doWork(){return`${this._name}isworking`;}getname(){returnthis._name.toUpperCase();}setname(newName){if(newName){this._name=newName;}}}letman=newEmployee('A',10);console.log(man.name,man.age);man.name='B';man.age=20;console.log(man

javascript - return 语句在 setter 中做什么?

我有以下代码:varo={};o.a=1;var_value=1;Object.defineProperty(o,"a",{set:function(value){_value=value+1;console.log("log:",value,_value);return_value;},get:function(){return_value;}});在setter方法中,我在返回之前将_value递增1。因此,如果我设置o.a=5,我希望控制台打印6(尽管我意识到通常从setter返回值没有意义)。但是,如以下代码片段所示,控制台打印5:>o.a=5;log:56//fromcons

javascript - getter setter 超出最大调用堆栈大小错误

我正在尝试学习JavaScript对象中的get和setfunctionab(n){this.name=n;};varc=newab("abcde");console.log(c);Object.defineProperty(c,'name',{get:function(){returnname;},set:function(Name){this.name=Name;}});c.name="xyz";console.log(c.name);在这里,我首先使用构造函数创建对象,然后使用get和set。但我收到错误“超出最大调用堆栈大小”。我没有得到ThisError的原因。感谢帮助

javascript - 在 Firefox DevTools 变量 View 中显示值而不是 getter/setter 函数

检查JavaScript对象时,在FirefoxObject.defineProperties中使用属性的getter/setter函数(用DevTools定义)变量View,它显示了为该特定属性定义的getter和setter函数:有没有办法在这个View中显示实际内容而不是功能?编辑:正如nils评论的那样,查看实际内容意味着在技术上调用getter。 最佳答案 从Firefox65开始,可以在记录的对象中通过旁边的按钮调用getter。这是在bug820878中实现的分别issue6140onGitHub.在Firefox65

javascript - Vuex:从行动中调用 setter/getter

有没有办法让dispatch/action在里面调用getter?mutations:{setData(state,data){state.data=data;}}actions:{sendDataToServer({commit},payload){//callgetter(data)andassigntovariable//doasyncfunctionsfromthedatareturned}},getters:{getAppData:state=>()=>{returnstate.data;}}那么这里的最佳实践是什么?使用mutation更改状态,然后获取状态并将其传递给将执

javascript - Typescript 私有(private) setter 公共(public) getter 约定

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭8年前。Improvethisquestion所以我想要一个不可变的Vector类。为此,我需要一个用于x和y坐标的公共(public)getter和一个私有(private)setter,以便我可以在构造函数中实际初始化这些值。我有几个可供选择的选项,所以我想知道哪个符合惯例。我可以这样做:classVector{constructor(private_x:number,private_y:number){}publicgetx()

javascript - JS 可以有与属性同名的 getter 和 setter 方法吗?

我想在代码中实现类似down的行为:functionFoo(name){this.name=name;};varmyFoo=newFoo('myName');myFoo.name('newMyName');//setsmyFoo.name='newMyName'myFoo.name();//returns'myName'但很明显,在这种情况下,我将使用名称函数覆盖名称属性。是否有可能实现该功能? 最佳答案 当谈论javascript中的getter和setter时,您可能会谈论以下两个概念之一:1。getter和setter作为一个

javascript - 带有 getter/setter 的 JSON stringify ES6 类属性

我有一个JavaScriptES6类,该类具有使用set设置的属性并使用get函数访问。它也是一个构造函数参数,因此可以使用所述属性实例化该类。classMyClass{constructor(property){this.property=property}setproperty(prop){//Somevalidationetc.this._property=prop}getproperty(){returnthis._property}}我使用_property来避免使用get/set的JS陷阱,如果我直接设置为property会导致无限循环。现在我需要将MyClass的一个实例

javascript - 覆盖一个setter,getter也必须被覆盖

classAbstractClass{constructor(){}setproperty(value){this.property_=value;}getproperty(){returnthis.property_;}}classSubclassextendsAbstractClass{constructor(){super();}setproperty(value){super.property=value;if(!(this.property_instanceofSubclassAssociatedClass))thrownewTypeError();}//getpropert