龙空技术网

你见过这两个JavaScript操作符吗?绝对好用

小郑搞码事 3553

前言:

现时你们对“js中连接两个字符串的运算符”大约比较重视,看官们都需要知道一些“js中连接两个字符串的运算符”的相关资讯。那么小编同时在网上搜集了一些有关“js中连接两个字符串的运算符””的相关知识,希望兄弟们能喜欢,看官们一起来学习一下吧!

点击右上方红色按钮关注“小郑搞码事”,每天都能学到知识,搞懂一个问题!

大家好!我是/小郑搞码事/的小郑

今天和大家分享两个你不一定用过,但是用了你一定会说好的JavaScript操作符。

知道三元运算符吗?对,就是那个用到吐的问号加冒号。

? :

相信无人不知道它,但如果你只知道这一个带问题的操作符那就得往下看了。

今天小郑给大伙再说两个。

第一个:?.

这个操作符有啥用呢?

举个例子:看下面这个对象

我现在要去取它里面三层属性内的值。这样

obj2.prop.intro.age

那实际上obj2的属性prop下并没有属性intro。所以之前我们通常都要先判断属性是否有,再来取值。简单的写法,可能是这样的。

obj2.prop.intro && obj2.prop.intro.age

这个时候,没有时,返回就是undefined,而不会报错。

有没有觉得这样写总差点意思。这会有更好的写法来了。

obj2.prop.intro?.age

当然,使用的同学,记得用babel转一下。

第二个:??

这个操作符又有啥用呢?

没实际用处,甚至我没用过的语法,我基本不说的。

平常我们给默认值,用得最多的方式是使用or,就这个符号

||

比如,null || 'yes'

这个得到的就是yes字符串。

现在你可以这样写了

null ?? 'yes'

输出同样是yes字符串

那问题来了,两者有什么不同?

看下面这张图中代码运行的结果:

简单的只需要找不同。

结论是:??运算符也能给我们分配默认值,不过它会忽略0和空字符串等错误值。

比如:0 ?? 'yes'

就是0

0也可以算是一个数字嘛。

前端能力越来越强,技术变化日新月异,唯有基础扎实才能完美应对,这个圈子坚持每日为您提供前端最需要掌握的基础知识点。前端知识天天学。

(此处已添加圈子卡片,请到今日头条客户端查看)

标签: #js中连接两个字符串的运算符