
! 和双重逻辑非运算符 !!:例如 ![]、!![]、!0、!!0 和 !""、!!""。!"" 和 !!""。[] + []、[] - []、{} + [] 和 [] + {}。({ valueOf: () => 5 }) + 3。"10" - "2"。"1" == 1 和 true == 1。String()、Number() 和 Boolean() 函数可以用于将其他类型的值转换为字符串、数字和布尔值。// 逻辑非运算符和双重逻辑非运算符
console.log(![]); // false
console.log(!![]); // true
console.log(!0); // true
console.log(!!0); // false
console.log(!""); // true
console.log(!!""); // false
// 空字符串的转换
console.log(!""); // true
console.log(!!""); // false
// 数组和对象的类型转换
console.log([] + []); // ""
console.log([] - []); // 0
console.log({} + []); // 0
console.log([] + {}); // "[object Object]"
// 对象和原始值的自动拆箱
console.log(({ valueOf: () => 5 }) + 3); // 8
// 减法运算符的字符串转换
console.log("10" - "2"); // 8
// 相等运算符的类型转换
console.log("1" == 1); // true
console.log(true == 1); // true
// 类型转换函数
console.log(String(123)); // "123"
console.log(Number("123")); // 123
console.log(Boolean(0)); // false
这些基础的知识,是每个js加密人必须知道的小知识。
当然了这些小东西都可以直接在jsjiami官网一键解出来,但是如何合理运用他,就是各位的本事了。