左移操作符用两个小于号(<<)表示,会按照指定的位数将数值的所有位向左移动。比如,如果数值 2(二进制 10)向左移 5 位,就会得到 64(二进制 1000000) 左移会保留它所操作数值的符号。比如,如果-2 左移 5 位,将得到-64,而不是正 64。 6. 有符号右移(>>) 有符号右移由两个大于号(>>)表示,会将数...
一、一元操作符 1. 递增和递减操作符(++ --) 2. 加和减操作符 (1)一元加运算符(+) (2)一元减运算符(-) 二、位操作符 1. 按位与操作符(&) 2. 按位或操作符(|) 3. 按位非操作符 (~) 4. 按位异或运算符(^) 5. 左移操作符(<<) 6. 右移运算符 (1)有符号右移操作符(>>) (2)无...
无符号右移操作符 >>>,将符号位作为二进制数据的一部分向右移动,高位始终补 0,对于正整数和算数右移没有区别,对于负数来说由于符号位被补 0,成为正数后就不用再求补码了,所以结果总是非负的。即便右移 0 个比特,结果也是非负的。 (0b111>>> 1).toString( 2)// "11"(-0b111>>>1).toString(2)...
.: 可选链操作符 当你访问某个对象的属性或者调用某个属性上的方法时,如果这个对象的值为undefined或者null,那么语句执行就会报错 以往我们加一层判断来确保访问的对象不为undefined或者null,然后才做后续操作,繁琐不够优雅 ?.作用就是如果对象的属性值为undefined或者null时候,不做后续操作 let obj = { step1: {...
[ ] 一堆符号,记得脑壳疼,没有想到现在js ts 也带上了 C#中 ??、 ?、 ?.、?[ ] 空合并运算符(??) 用于定义可空类型和引用类型的默认值。 a??b 当a为null时则返回b,a不为null时则返回a本身。 空合并运算符为右结合运算符,即操作时从右向左进行组合的。 如,“a??b??c”的形式按“a??(b...
运算符:也叫操作符,是一种符号。通过运算符可以对一个或多个值进行运算,并获取运算结果。 表达式:由数字、运算符、变量的组合(组成的式子)。 表达式最终都会有一个运算结果,我们将这个结果称为表达式的返回值。 比如:+、*、/、(都是运算符,而(3+5)/2则是表达式。
位运算符用于在最基本的层次上(即按照内存中表示数值的位来操作数值),ECMAScript中的所有数值都以IEEE-754 64位格式来存储,但位操作符并不直接操作64位的值。而是先将64位的值转换为32位的整数,再执行操作,最后再将结果转换为64位。 对于有符号的整数,32位中的后31位用...
js中 != 和 !==的区别 != 在表达式两边的数据类型不一致时,会隐式转换为相同数据类型,然后对值进行比较。 !== 不会进行类型转换,在比较时除了对值进行比较以外,还比较两边的数据类型, 它是恒等运算符===的非形式。