анонимный получатель и установщик typescript (вид упаковки и распаковки)

#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); }
    }
);
  

Но, похоже, трудно быть связанным с синтаксисом класса.