A signal entry that is also usable like its underlying primitive/object.
toJSON()
valueOf()
Symbol.toPrimitive(hint)
"number"
"string"
"default"
value
get()
set()
const count: SignalBox<number> = signal(0);// Readconsole.log(count.get()); // 0console.log(count.value); // 0console.log(+count); // 0// Writecount.set(5);count.value = 6;count.update(v => v + 1); // 7// JSON / stringconsole.log(`${count}`); // "7"console.log(JSON.stringify(count)); // 7// Reactivityconst unsub = count.sub(() => console.log("changed to", count.get()));count.set(8); // triggers subscriberunsub(); Copy
const count: SignalBox<number> = signal(0);// Readconsole.log(count.get()); // 0console.log(count.value); // 0console.log(+count); // 0// Writecount.set(5);count.value = 6;count.update(v => v + 1); // 7// JSON / stringconsole.log(`${count}`); // "7"console.log(JSON.stringify(count)); // 7// Reactivityconst unsub = count.sub(() => console.log("changed to", count.get()));count.set(8); // triggers subscriberunsub();
Description
A signal entry that is also usable like its underlying primitive/object.
Interop Notes
toJSON()returns the raw value.valueOf()returns the raw value.Symbol.toPrimitive(hint):"number"→ numeric coercion from the inner value"string"or"default"→ string coercion from the inner valuevaluegetter/setter mirrorsget()/set()for ergonomic usage.Example