valueOf() 係 JavaScript 裏面嘅一個方法,用嚟返回一個對象嘅「原始值」(primitive value)。
大部分情況下,你唔會直接調用 valueOf(),因為 JS 喺需要時會自動幫你調。
1. 基本用法
1 | let num = new Number(123); |
2. 普通對象嘅情況
對於一般的 Object,valueOf() 預設係返回自己:
1 | let obj = { a: 1 }; |
3. 你可以自定義
如果你想控制「一個對象被轉換成原始值」時嘅表現,可以 override valueOf():
1 | let money = { |
j m 因為運算符 + 遇到對象會先試 valueOf(),攞返原始值嚟計。
4. 典型用途
- 數字/日期對象轉換成 primitive
- 控制物件同數字/字串混合運算嘅表現
- 在運算符上下文(
+,-,*,<,==…)需要自定義邏輯