千家信息网

如何使用js操作符优化代码

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章主要介绍"如何使用js操作符优化代码",在日常操作中,相信很多人在如何使用js操作符优化代码问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何使用js操作符优化
千家信息网最后更新 2025年02月01日如何使用js操作符优化代码

这篇文章主要介绍"如何使用js操作符优化代码",在日常操作中,相信很多人在如何使用js操作符优化代码问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何使用js操作符优化代码"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

可选链操作符( ?. )

const UserObj = {  getAge:()=>{}};// ***********************//1.使用普通的判断语法var name = UserObj.info?UserObj.info.name:"";console.log(name);//2.使用可选链 语法var name = UserObj.info?.name;console.log(name);// 输出undefined   而不会报错// ***********************//1.使用普通的判断语法(暂不做函数类型判断)var name;if(UserObj.getName){ name=UserObj.getName();}console.log(name);// 输出undefined//2.使用可选链 语法var name =UserObj.getName?.();console.log(name);// 不存在,默认输出undefined   而不会报错// ***********************// 如果层级较深的话,优势就很明显了const UserObj = {  logList:[]};//1.使用普通的判断语法var name;if(UserObj.logList&&UserObj.logList[0]&&UserObj.logList[0].user&&UserObj.logList[0].user.name){    name=UserObj.logList&&UserObj.logList[0]&&UserObj.logList[0].user&&UserObj.logList[0].user.name;}console.log(name);// 输出undefined//2.使用可选链 语法var name =UserObj.logList?.[0]?.user?.name;// 输出undefined //这个优势就很明显了,所以为什么人家的代码写的好,这就是原因

?. 操作符的功能类似于 . 链式操作符,不同之处在于,单引用属性为 (null 或者 undefined) 的情况下不会引起错误,。与函数调用一起使用时,如果给定的函数不存在,则返回 undefined

可选链操作符( ?. ),允许获取当前对象的属性的值,而不必明确当前对象的属性是否有效(存在)

管道运算符(实验中的功能)

管道操作符 |>允许以一种易读的方式去对函数链式调用。本质上来说,管道操作符是单参数函数调用的语法糖,它允许你像这样执行一个调用:

let url = "%21" |> decodeURI;

使用传统语法写的话,等效的代码是这样的:

let url = decodeURI("%21");

从这个小例子确实看不出啥优势,但是你看下这个呢?

const getWeChat = (name) => `${name},请关注公众号【前端人】`;const getInfo = (name) => `${name},我今年18岁`;const getName = (title) => title+"鬼哥";// 普通js语法getWeChat(getInfo(getName("我的名字叫:")))// 管道操作符语法"我的名字叫:" |> getName |> getInfo|> getWeChat; // 输出 我的名字叫:鬼哥,我今年18岁

写到这,我思考了很久,还是同意说出,使用管道操作符语法,语意上确实更加直观

~~运算符

~~】运算符,简单一点的用法就是可以将一些变量转化为Number(数字)类型的。

// 将数字类型的字符串转化为纯数字。// 普通js代码var numStr = '123';console.log(parseInt("123")); // 输出数字类型的123// `~~`运算符var numStr = '123';console.log(~~numStr); // 输出数字类型的123// ***********************// 但是如果数据本身错误呢?var numStr = '我不是数字123';console.log(parseInt("123"));// 输出NaNvar numStr = '我不是数字123';console.log(~~numStr); // 输出数字类型的0// 这种情况他的优势就出来了,使用`~~`即使是数据错误,但是他返回的数据类型不会影响后续数据格式的处理

到此,关于"如何使用js操作符优化代码"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

操作符 语法 输出 数字 代码 类型 普通 函数 管道 优势 数据 运算符 学习 运算 名字 属性 错误 明显 功能 对象 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 合能物联软件开发有限公司招聘 淘宝登录页面显示找不到服务器 传奇怪物数据库最大的怪 高效网络安全服务哪家好 北京麻将软件开发品质售后无忧 地产公司成本数据库的建立 锐思中国工业企业数据库 学生注意网络安全 软件开发事迹报告 深圳装修网络技术 vb中连接数据库代码 济南市浪潮存储服务器测评 画面云管理服务器华为型号 网络安全联盟英文 属于生物医学类书目数据库 国内三大数据库比较 网络技术与物理学科的结合 河南应用软件开发大概多少钱 专业的网络技术有哪些 手抄报网络安全三年级最简单 qt数据库写入apk 杭州应用软件开发外包 班级宿舍网络安全排查表 医学影像数据库视频 淄博软件开发编程语言 恐怖黎明如何更改服务器 企业网络安全规划论文 宁波海曙区戴尔机架式服务器 昌平区口碑好的网络技术信息推荐 邯郸软件开发培训去哪
0