赋值运算符简写
// 赋值(Assignment)
// x = y;
x = y;
// 加赋值(Addition assignment)
// x = x + y;
x += y;
// 减赋值(Subtraction assignment)
// x = x - y;
x -= y;
// 乘赋值(Multiplication assignment)
// x = x * y;
x *= y;
// 除赋值(Division assignment)
// x = x / y;
x /= y;
// 模赋值(Remainder assignment)
// x = x % y;
x %= y;
// 指数赋值(Exponentiation assignment)
// x = x ** y;
x **= y;
// 左移赋值(Left shift assignment)
// x = x << y;
x <<= y;
// 右移赋值(Right shift assignment)
// x = x >> y;
x >>= y;
// 无符号右移赋值(Unsigned right shift assignment)
// x = x >>> y;
x >>>= y;
// 按位与赋值(Bitwise AND assignment)
// x = x & y;
x &= y;
// 按位异或赋值(Bitwise XOR assignment)
// x = x ^ y;
x ^= y;
// 按位或赋值(Bitwise OR assignment)
// x = x | y;
x |= y;
字符串转数字
const a = parseInt('27', 10); // 27
const b = +'27'; // 27
const c = parseFloat('12.3'); // 12.3
const d = +'12.3'; // 12.3
索引查找
if (~data.indexOf(item)) {
// item 存在
}
if (!~data.indexOf(item)) {
// item 不存在
}
~a
按位非操作符,反转操作数的比特位,0 => 1,1 => 0。
~a
的结果为 -(a + 1)
。
展开语法
在函数调用时使用展开语法
function sum(x, y, z) {
return x + y + z;
}
const numbers = [1, 2, 3];
sum.apply(null, numbers); // 6
sum(...numbers); // 6