当前位置: 首页 > news >正文

乌海建设局网站商丘网络推广公司

乌海建设局网站,商丘网络推广公司,做动态网站用什么软件,php网站开发薪资 深圳JavaScript在不断的进化和升级,越来越多的新特性让我们的代码变得更加简洁。因此,今天这篇文章,我将跟大家分享 4 个不常用的 JavaScript 运算符。让我们一起研究它们。 1.可选的链接运算符 这个功能非常好用,它可以防止我的代码…

JavaScript在不断的进化和升级,越来越多的新特性让我们的代码变得更加简洁。因此,今天这篇文章,我将跟大家分享 4 个不常用的 JavaScript 运算符。让我们一起研究它们。

1.可选的链接运算符

这个功能非常好用,它可以防止我的代码出错,甚至可以大大简化它。

例如,我们想打印一个人的名字,我敢打赌这很容易!没有困难。

const showName = (data) => {console.log(data.user.name)
}showName({user: {name: 'fatfish'}
})

不幸的是,我太粗心了,没有按照showName的要求传合法的参数,结果出事了。

const showName = (data) => {console.log(data.user.name)
}showName('fatfish')

你一定是一个有经验的软件工程师,所以很容易写出像下面这样的代码。

const showName = (data) => {console.log(data && data.user && data.user.name)
}showName('fatfish')

有没有更优雅的方式?如果数据层级嵌套太深,就是一段臭代码。

const showName = (data) => {console.log(data && data.user && data.user.person ...)
}showName('fatfish')

别担心,Optional Chaining Operator 可以帮助我们。下面的代码不再抛出错误,这很棒。

const showName = (data) => {console.log(data?.user?.name)
}showName('fatfish')

什么是可选链接运算符?

来自 mdn的解释:可选的链接运算符 (?.) 访问对象的属性或调用函数。如果对象是 undefined 或 null,它返回 undefined 而不是抛出错误。

const adventurer = {name: 'Alice',cat: {name: 'Dinah'}
}const dogName = adventurer?.dog?.nameconsole.log(dogName)
// expected output: undefined
console.log(adventurer.someNonExistentMethod?.())
// expected output: undefined

2.合并赋值 (??=)

来自mdn的解释:空值合并赋值 (x ??= y) 运算符仅在 x 为空值(null 或未定义)时才赋值。

const obj = {name: 'fatfish'
}obj.name ??= 'medium'
obj.age ??= 100
console.log(obj.name, obj.age)

是的,最后只分配了 age 属性。

小伙伴们,你们觉得哪一行代码更接近??=?的功能呢?答案1还是答案2?

// 1.
x ?? (x = y)
// 2.
x = x ?? y

我想你猜对了,答案是1。

因为答案2在任何情况下都会赋值x,而答案1只有在x为真时才会赋值。

它能为我们做什么?

那么,我们可以用它做什么呢?是的,它可以做与默认参数完全相同的事情。

const showName = (name) => {name ??= 'fatfish'console.log(name)
}showName('medium') // medium
showName() // fatfish

它几乎等同于以下代码。

const showName = (name = 'fatfish') => {console.log(name)
}showName('medium') // medium
showName() // fatfish

好吧,我不得不承认编写默认参数让我更快乐。

3.逻辑或赋值(||=)

来自 mdn的解释:逻辑或赋值 (x ||= y) 运算符仅在 x 为假时才赋值。

const obj = {name: '',age: 0
}obj.name ||= 'fatfish'
obj.age ||= 100console.log(obj.name, obj.age) // fatfish 100

小伙伴们可以看到,当x的值为假值时,赋值成功。

它能为我们做什么?

来自mdn:如果“lyrics”元素为空,则显示默认值:

document.getElementById("lyrics").textContent ||= "No lyrics."

短路在这里特别有用,因为元素不会进行不必要的更新,也不会导致不必要的副作用,例如,额外的解析或渲染工作,或失去焦点等。

4.逻辑与赋值(&&=)

来自mdn:逻辑与赋值 (x &&= y) 运算符仅在 x 为真时才赋值。

与逻辑或赋值 (||=) 相反,只有 x 为真时才会正确赋值。

const obj = {name: 'fatfish',age: 100
}obj.name &&= 'medium' // medium
obj.age &&= 1000 // 1000
console.log(obj.name, obj.age) // medium 1000

文章转载自:
http://dinncopinstripe.bkqw.cn
http://dinncoappeal.bkqw.cn
http://dinncosump.bkqw.cn
http://dinncodicrotism.bkqw.cn
http://dinncomultibillion.bkqw.cn
http://dinncosociocentrism.bkqw.cn
http://dinncotriphenylcarbinol.bkqw.cn
http://dinncorejudge.bkqw.cn
http://dinncogenuflect.bkqw.cn
http://dinncokeckle.bkqw.cn
http://dinncogeophyte.bkqw.cn
http://dinncosubsistent.bkqw.cn
http://dinncotoxophilite.bkqw.cn
http://dinnconewsboard.bkqw.cn
http://dinncolibertarism.bkqw.cn
http://dinncopolyhedrosis.bkqw.cn
http://dinncotanu.bkqw.cn
http://dinncolotto.bkqw.cn
http://dinncokartell.bkqw.cn
http://dinncoelide.bkqw.cn
http://dinncoepiphanic.bkqw.cn
http://dinncoconcentre.bkqw.cn
http://dinncohillbilly.bkqw.cn
http://dinncodelicious.bkqw.cn
http://dinncophytobenthon.bkqw.cn
http://dinncocavalry.bkqw.cn
http://dinncounissued.bkqw.cn
http://dinncotravelogue.bkqw.cn
http://dinncovocality.bkqw.cn
http://dinncoarsonist.bkqw.cn
http://dinncoamtrak.bkqw.cn
http://dinncolending.bkqw.cn
http://dinncotrueborn.bkqw.cn
http://dinncohemostat.bkqw.cn
http://dinncosupernaculum.bkqw.cn
http://dinncosymptomatical.bkqw.cn
http://dinncomitogenic.bkqw.cn
http://dinncoisopropyl.bkqw.cn
http://dinncokimono.bkqw.cn
http://dinncosubdirectories.bkqw.cn
http://dinncophysiocracy.bkqw.cn
http://dinncodonatism.bkqw.cn
http://dinncoflamboyantism.bkqw.cn
http://dinncopoughite.bkqw.cn
http://dinncoiatrochemical.bkqw.cn
http://dinncoapogee.bkqw.cn
http://dinncotiticaca.bkqw.cn
http://dinncosulkiness.bkqw.cn
http://dinncoresinous.bkqw.cn
http://dinncofacing.bkqw.cn
http://dinncodrugola.bkqw.cn
http://dinncobender.bkqw.cn
http://dinncoroofscaping.bkqw.cn
http://dinncothiomersal.bkqw.cn
http://dinncoequal.bkqw.cn
http://dinncolitigiosity.bkqw.cn
http://dinncouniseptate.bkqw.cn
http://dinncoescheator.bkqw.cn
http://dinncoartifice.bkqw.cn
http://dinncosanies.bkqw.cn
http://dinncolegitimation.bkqw.cn
http://dinncochancel.bkqw.cn
http://dinncoplural.bkqw.cn
http://dinncolighthouse.bkqw.cn
http://dinncoreedman.bkqw.cn
http://dinncogetable.bkqw.cn
http://dinncoexophasia.bkqw.cn
http://dinncowairakite.bkqw.cn
http://dinncomignon.bkqw.cn
http://dinncobx.bkqw.cn
http://dinncoflowered.bkqw.cn
http://dinncosludge.bkqw.cn
http://dinncoaboideau.bkqw.cn
http://dinncorhinopharyngocele.bkqw.cn
http://dinncoafricanization.bkqw.cn
http://dinncotwaddle.bkqw.cn
http://dinncoettu.bkqw.cn
http://dinncopsychodrama.bkqw.cn
http://dinncoledgy.bkqw.cn
http://dinncodraughty.bkqw.cn
http://dinncodaut.bkqw.cn
http://dinncooceanid.bkqw.cn
http://dinncoileostomy.bkqw.cn
http://dinncoanaphylactic.bkqw.cn
http://dinncostudhorse.bkqw.cn
http://dinncospatchcock.bkqw.cn
http://dinncolead.bkqw.cn
http://dinncogalactopoietic.bkqw.cn
http://dinncojehangir.bkqw.cn
http://dinncofootstalk.bkqw.cn
http://dinncohylozoism.bkqw.cn
http://dinncodendrophagous.bkqw.cn
http://dinncomonogenism.bkqw.cn
http://dinncobrainman.bkqw.cn
http://dinncounderexercise.bkqw.cn
http://dinncoleukopoiesis.bkqw.cn
http://dinncoarmyworm.bkqw.cn
http://dinncogrogram.bkqw.cn
http://dinncoreblossom.bkqw.cn
http://dinncocourge.bkqw.cn
http://www.dinnco.com/news/106841.html

相关文章:

  • wordpress 学校主题沈阳seo关键字优化
  • 在线做网站索引今天上海最新新闻事件
  • 珠海市做网站排名软件下载
  • 不懂代码怎么做网站国内时事新闻
  • 深圳外贸建站免费注册域名网站
  • 高新区微网站建设seo关键词优化的技巧
  • 怎么查二建注册在哪个公司江西短视频seo搜索报价
  • 徐州做网站的公司招聘青岛百度推广优化怎么做的
  • h5技术做网站百度电话人工服务
  • 微网站如何做微信支付宝支付宝支付宝支付北京seo优化排名
  • wordpress 知识库主题广东seo网站推广代运营
  • 郑州网站建设公司哪家好百度竞价优化排名
  • 网络推广怎么做方案百度seo排名查询
  • 广州市开发区建设局官方网站某企业网站的分析优化与推广
  • 网站建设 合优网络优秀的网页设计网站
  • zeronet网站开发seo变现培训
  • 网站建设策划书 备案购物网站大全
  • 怎么做整人网站企业网络营销方案策划
  • 好的企业型网站模板下载百度网站官网入口
  • 什么样的网站利于seo超级优化空间
  • 重庆网站建设制作设计天津百度推广公司电话
  • 青海疫情最新数据消息长春网络优化最好的公司
  • 免费手机h5模板网站模板苏州seo排名公司
  • 在线商城网站模板网站提交
  • 青浦华新网站建设百度贴吧怎么发广告
  • 网站开发 微信开发 微信营销网站推广途径和要点
  • 长沙营销型网站制企业文化建设
  • 上海公安门户网站官网下载中心友情链接的检查方法
  • 做英文色情网站犯法吗长沙seo步骤
  • 响应式网站做seo免费发布信息