Есть ли способ вызвать toPrimitive для значения в Javascript?
Почему?
Я использую Proxy в своем проекте.
function makeProxy(unknown_value) {
let proxy_target = ()=>{};
proxy_target.inner = unknown_value;
proxy_target.my_data = 123456;
return new Proxy(proxy_target, some_proxy_handler);
}
let proxied_value = makeProxy(<? something unknown ?>);
Этот прокси перенаправляет все звонки на «внутренние».И в конце концов меня поразило что-то вроде этого:
console.log(1+proxied_value);
Здесь Javascript вызывает
(1)
proxied_value.get(proxy_target, Symbol.toPrimitive)
Поскольку Javascript хочет попытаться преобразовать proxied_value в некоторое значение, чтобы выполнить для него «+».И эта операция возможна для proxy_target.inner
Поэтому я хочу перенаправить этот вызов (1) на:
(something like)
Object.toPrimitive( proxy_target.inner );
Но я не нашел способа напрямую вызвать toPrimitive.Есть ли способ?