Известно как задать геттер и сеттер для свойства объекта, например так
function Osobaya_peremennaya() {} // Класс
Osobaya_peremennaya.prototype = { // Задаём сеттер и геттер
set znachenie_peremennoy (znachenie) {
console.log('Любые другие действия');
this._znachenie_peremennoy = znachenie;
},
get znachenie_peremennoy () {
return this._znachenie_peremennoy;
}
};
// Использование
prozrachnost = new Osobaya_peremennaya;
prozrachnost.znachenie = 0.5;
console.log(prozrachnost.znachenie);
Но хотелось бы избежать обращения к свойству и сразу использовать присвоение, то есть вот так
prozrachnost = new Osobaya_peremennaya;
prozrachnost = 0.5;
console.log(prozrachnost);
Зачем это нужно. Например в WebGL что бы передать переменной которую мы указали в шейдере какие то данные нужно написать примерно такую строчку.
webgl_context.uniform1f(webgl_context.getUniformLocation(shader_programm, "prozrachnost"), 0.5);
// Строчка выше смотрится приятнее если она в сеттере
prozrachnost.znachenie = 0.5;
// Можно ли сократить до такой?
prozrachnost = 0.5;
Возможно есть совершенно другое решение?