Object to primitive conversion
1. 所有的物件轉換布林值皆為 true。2. Date 物件用運算符號會轉換為數字類型。3. 用 alert 等等輸出,物件會轉換為字串。
ToPrimitive
//String
// output
alert(obj);
// using object as a property key
anotherObj[obj] = 123;
// number
// explicit conversion
let num = Number(obj);
// maths (except binary plus)
let n = +obj; // unary plus
let delta = date1 - date2;
// less/greater comparison
let greater = user1 > user2;
// default
// binary plus
let total = car1 + car2;
// obj == string/number/symbol
if (user == 1) { ... };
// 除了 Date 物件,所有 default 都和 number 轉換一致,可視為只有 2 種轉換,number and stringSymbol.toPrimitive
toString/valueOf
Further operations
Last updated