#javascript #typescript #getter-setter
#javascript #typescript #получатель-установщик
Вопрос:
Мне нужен объект Typescript (возможно, JavaScript) с анонимным установщиком и получателем. Я хотел бы что-то вроде:
class clsX{
a : string,
b : any,
public get () : any { return someFuncG(); }
public set (v: any) { someFuncS(v); }
}
var x : clsX;
var y : any;
y = x; // y assigned with return of someFuncG.
x = y; // execute someFuncS( y )
Этого можно легко достичь на C # (используя оператор приведения), но мне интересно, возможно ли это в typescript. Вид упаковки и распаковки.
Комментарии:
1. Прокси могут быть вариантом
Ответ №1:
По сути, вы хотите следующее:
function dummyGet() {
console.log('We are getting something');
return 1;
}
function dummySet(value) {
console.log('We are setting something');
console.log('The new value is', value);
}
Object.defineProperty(
window, // `global` in Node.js
'x',
{
get() { return dummyGet(); },
set(x) { dummySet(x); }
}
);
Но, похоже, трудно быть связанным с синтаксисом класса.