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

传媒网站游戏源代码交易平台

传媒网站,游戏源代码交易平台,中国建设银行的业务范围,安徽建设人才网官网#x1f974;博主#xff1a;小猫娃来啦 #x1f974;文章核心#xff1a;优雅而高效的JavaScript——?? 运算符、?. 运算符和 ?. 运算符 文章目录 引言空值处理的挑战解决方案1#xff1a;?? 运算符基本用法与 || 运算符的区别实际应用场景举例 解决方案2#xff… 博主小猫娃来啦 文章核心优雅而高效的JavaScript——?? 运算符、?. 运算符和 ?. 运算符 文章目录 引言空值处理的挑战解决方案1?? 运算符基本用法与 || 运算符的区别实际应用场景举例 解决方案2?. 运算符基本用法与 . 运算符的区别实际应用场景举例 解决方案3?. 运算符的进一步简化?..基本用法实际应用场景举例 总结 引言 JavaScript作为一种广泛使用的脚本语言不断演进发展。ECMAScript 2020ES2020标准引入了三个新的语法特性?? 运算符、?. 运算符和 ?. 运算符用于简化代码编和处理可能的空值情况。我们会通过本篇博客深入分析这些新的语法特性并通过举例和代码演示来解释它们的用法和实际应用场景。 空值处理的挑战 在编程中经常会遇到处理可能为空的值的情况例如在访问对象属性或调用函数时。在传统的JavaScript中我们通常使用长短路运算符如或条件语句如if-else来处理空值情况。然而这些方法在编写代码时会显得冗长可读性较差并且容易出错。为了解决这个问题ES2020引入了新的语法特性。 解决方案1?? 运算符 基本用法 ?? 运算符空值合并运算符可以用来判断一个值是否为null或undefined并提供一个默认值。其语法为value1 ?? value2如果value1是null或undefined则返回value2否则返回value1的值。 下面是一个示例代码 const x null; const y 10; const result x ?? y;console.log(result); // 输出 10在这个例子中由于x是null以返回了y的值。 与 || 运算符的区别 ?? 运算符与 || 运算符类似但它们有一些重要的区别。|| 运算符只能判断一个值是否为 “false”例如null、undefined、false、0、‘’而 ?? 运算符能够精确地判断一个值是否为null或undefined。 下面是一个对比例子 const x 0; const y 10; const result1 x || y; // 使用 || 运算符 const result2 x ?? y; // 使用 ?? 运算符console.log(result1); // 输出 10 console.log(result2); // 输出 0在这个例子中由于x的值为0它被判定为 “falsy” 值所以使用 || 运算符时返回了y的值而使用 ?? 运算符时返回了的值。 实际应用场景举例 表单输入默认值 const username getInputValue(username) ?? 加菲猫;在这个例子中如果getInputValue(‘username’)返回的值为null或undefined则username会被设置为加菲猫作为默认值。 函数参数默认值 function greet(name) {name ?? 加菲猫;console.log(Hello, ${name}); }在这个例子中如果没有传入name参数或传入的值为null或undefined则name会被设置为加菲猫作为默认值。 解决方案2?. 运算符 基本用法 ?. 运算符可选链运算符可以简化对可能为null或undefined的值进行属性访问或方法调用的代码。其语法为object?.property 或 object?.method()。 下面是一个示例代码 const obj {foo: {bar: 咕咕} };const result obj?.foo?.;console.log(result); // 输出 咕咕在这个例子中由于obj.foo.bar存在所以返回了其值咕咕。 与 . 运算符的区别 ?运算符与.运算符类似但它们之间有一些关键的区别。如果对象的某个属性或方法不存在. 运算符会抛出一个TypeError而?. 运算符会返回undefined不会导致程序崩溃。 下面是一个对比例子 const obj {foo: null };const result1 obj.foo.bar; // 使用 . 运算符 const result2 obj?.foo?.bar; // 使用 ?. 运算符console.log(result1); // TypeError: Cannot read property bar of null console.log(result2); // 输出 undefined在这个例子中虽然obj.foo存在但它的值为null所以使用. 运算符对bar进行访问抛出TypeError而使用?. 运算符时返回了undefined。 实际应用场景举例 链式对象访问 const user {name: 加菲猫,address: {street: 东大街,city: 陕西} };const city user.address?.city;在这个例子中如果user.address存在则city被为其值否则city将为undefined。 安全地调用函数 const handler obj?.method?.();在这个例子中如果obj.method存在则会调用它并将返回值赋给handler变量否则handler将为undefined。 解决方案3?. 运算符的进一步简化?.. 基本用法 ?. 运算符的进一步简形式是?.. 通过将两个运算符组合在一起可以更加简洁地处理链式对象访问或函数调用的情况。其语法object?.property 或 object?..method()。 下面是一个示例代码 const user {name: John,address: {street: 东大街,city: 陕西} };const city user?..address?.city;console(city); // 输出 陕西在这个例子中由于user.address.city存在所以返回了其值New York。 实际应用场景举例 链式对象访问 const user {name: 加菲猫,address: {street: 东大街,city: 陕西} };const city user?..address.city;在这个例子中如果user存在且address存在则city被设置为其值否则city将为undefined。 安全地调用函数 const handler obj?..method();在这个例子中如果obj存在且method存在则会调用它并将返回值赋给handler变量否则handler将为undefined。 总结 本文通过对新的JavaScript语法特性??运算符、?.运算符和?..运算符进行深度横向纵向分析分别介绍了它们的基本用法、与其他运算符的区别以及实际应用场景。这些新的语法特性在处理可能的空值情况时能够大大简化代码并提高代码的可读性和健壮性。在日常的JavaScript开发中合理使用这些语法特性将有助于提高开发效率和代码质量。
http://www.hkea.cn/news/14273297/

相关文章:

  • 怎么给网站做logo色彩设计网站
  • 新余百度网站建设自学织梦做网站要多久
  • 网站原型图软件成都房地产公司排行榜
  • 建设wap手机网站那些网站容易做淘宝推广
  • 网站建设 技术 哪些方面佛山 品牌设计
  • 赚钱平台网站制作相册视频
  • 网站模板佳好乐云seo潍坊网站建设潍坊
  • 如何做查询网站网站推广方案整理
  • 上海网站建设公司 珍岛中山市住房和城乡建设局官网
  • 茂名企业自助建站系统2021年企业所得税政策
  • 广州企业网站建站公司哪家好广州番禺网站公司哪家好
  • 青岛网站建设一青岛博采网络wordpress 后台搜索
  • 群辉服务器建设的网站开通域名
  • 重庆建设工程信息网官网加密锁安装驱动东莞网站制作十年乐云seo
  • 河北邯郸中考成绩查询网站餐饮行业做微信网站有什么好处
  • 深圳营销型网站建设设计公司做网站高校视频
  • 网站建设服务代理商建筑人才网官网平台
  • 西安seo网站排名wordpress 招聘模板
  • 做ppt模仿网站wordpress游戏资讯
  • 工程网站开发定制做网站开发
  • 教材资源网站建设怎么seo关键词优化排名
  • 网站建设市场调研行业网站如何推广
  • php class 做网站什么网站免费可以做app
  • 江西省美丽乡村建设公布网站哪里有做效果图的
  • 杭州汇咖网站建设有限公司怎么样佛山企业如何建网站
  • 西安社动网站建设岳池县网站建设
  • 网站中的知识 视频从哪里来的有哪些做短租的网站好
  • 做淘宝客为什么要建网站网站建设基本流程备案
  • 电商网站如何生成app前端网页模板
  • 有自己的网站如何做淘宝客彩票网站怎么做的