前言:
现时你们对“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中连接两个字符串的运算符