加入收藏 | 设为首页 | 会员中心 | 我要投稿 许昌站长网 (https://www.0374zz.cn/)- 专属主机、负载均衡、智能边缘云、云防火墙、数据加密!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

浅谈JS种哪些少见的运算符和操作符

发布时间:2022-02-25 13:28:56 所属栏目:语言 来源:互联网
导读:对于JS的运算符和操作符大家应该都比较熟悉,例如+、-、++、=、!等等这些都是比较常见的,但是JavaScript运算符和操作符有很多,有很比较少见的运算符和操作符,很多人可能都了解,因此这篇文章就给大家介绍一下这一下比较少见的运算符和操作符,感兴趣的朋
      对于JS的运算符和操作符大家应该都比较熟悉,例如+、-、++、=、!等等这些都是比较常见的,但是JavaScript运算符和操作符有很多,有很比较少见的运算符和操作符,很多人可能都了解,因此这篇文章就给大家介绍一下这一下比较少见的运算符和操作符,感兴趣的朋友可以了解看看。
 
    javaScript常用运算符和操作符总结
类别
 
操作符
 
算术操作符 +、 �C、 *、 /、 %(取模)
字符串操作符 + 字符串连接   +=字符串连接复合
布尔操作符 !、 &&、  ||
一元操作符 ++ 、 -- 、  +(一元加)、    -(一元减)
关系比较操作符 < 、 <= 、 >  、>=、   !=  、 == 、  === 、  !==
按位操作符 ~ 按位非    &按位与     | 按位或     ^按位异或    <<左移    >>有符号右移      >>>无符号右移
赋值操作符 = 、   复合赋值(+=、-=、*=、%=)   复合按位赋值(~=、&=、|=、^=、<<=、>>=、>>>=)
对象操作符
.属性访问、[]属性或数组访问、 new调用构造函数常见对象、delete变量属性删除、void(返回undefined)、in判断属性、instanceof原型判断
 
其它操作符 ?: 条件操作符、,逗号操作符、()分组操作、typeof类型操作符
    js中不常见的运算符与操作符
    空值合并运算符: ??
 
    当左侧的操作数为 null 或者 undefined 时,返回其右侧操作数,否则返回左侧操作数。
 
null ?? 'huli' // huli
undefined ?? 'huli'  // undefined
'' ?? 'huli' // ''
[] ?? 'huli' // []
({}) ?? 'huli'  // {}
NaN ?? 'huli' // NaN
false ?? 'huli' // false
0 ?? 'huli'  // 0
    逻辑空赋值: ??=
 
    逻辑空赋值运算符 (x ??= y) 仅在 x 是 nullish (null 或 undefined) 时对其赋值。
 
const a = { duration: 50 };
 
a.duration ??= 10;
console.log(a.duration);
// expected output: 50
 
a.speed ??= 25;
console.log(a.speed);
// expected output: 25
    逻辑或: ||
 
    存在真则为真, , 以前面的为准
 
const a = 3;
const b = -2;
console.log(a > 0 || b > 0);  // true
可以是false的值
 
null
undefined
NaN
"" 与 ''
0
false
 
    逻辑或赋值: ||=
 
    有则返回,没有则赋值
 
const a = { duration: 50, title: '' };
 
a.duration ||= 10;
console.log(a.duration);
// expected output: 50
 
a.title ||= 'title is empty.';
console.log(a.title);
// expected output: "title is empty"
    逻辑与: &&
 
    都存在则为真, 以后面的为准
 
const a = 3;
const b = -2;
 
console.log(a > 0 && b > 0);
// expected output: false
    逻辑与赋值: &&=
 
    存在则赋值
 
let a = 1;
let b = 0;
 
a &&= 2;
console.log(a);
// expected output: 2
 
b &&= 2;
console.log(b);
// expected output: 0
    可选链操作符: ?.
 
    可选链操作符( ?. )允许读取位于连接对象链深处的属性的值,而不必明确验证链中的每个引用是否有效。?. 操作符的功能类似于 . 链式操作符,不同之处在于,在引用为空(nullish ) (null 或者 undefined) 的情况下不会引起错误,该表达式短路返回值是 undefined。与函数调用一起使用时,如果给定的函数不存在,则返回 undefined。
 
const adventurer = {
  name: 'Alice',
  cat: {
    name: 'Dinah'
  }
};
 
const dogName = adventurer.dog?.name;
console.log(dogName);
// expected output: undefined
 
console.log(adventurer.someNonExistentMethod?.());
// expected output: undefined



(编辑:许昌站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读