不多说,直接上干货
- 使用逻辑非运算符
!
和双重逻辑非运算符!!
:例如![]
、!![]
、!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官网一键解出来,但是如何合理运用他,就是各位的本事了。