如何使用 ECMAScript 2019 的 nullish 合并运算符来避免undefined or null类型的错误

面试官:小伙子,你的代码为什么这么丝滑?

引言

在编写 JavaScript 代码时可能会遇到undefined or null类型的错误,这些错误经常在代码执行期间导致程序停止运行。ECMAScript 2019 引入了nullish合并运算符,为我们提供了一种避免这种类型错误的方法。

本文将介绍如何使用 ECMAScript 2019 的 nullish 合并运算符来避免undefined or null类型的错误,同时还提供了一些实用的示例代码。

nullish 合并运算符

nullish 合并运算符,也称为 ??,是 ECMAScript 2019 的一个新功能。它是一种逻辑运算符,用于检查表达式的左侧是否为 nullundefined,如果是则返回右侧值,否则返回左侧值。它只在左侧的值为nullundefined 时返回右侧的值,否则返回左侧的值。示例代码如下:

----- - - -----
----- - - --------
----- - - - -- --

--------------- -- -------

在上面的示例代码中,变量 a 的值为 null,因此变量 c 的值为变量 b 的值。如果变量 a 的值不为 null,则变量 c的值将为变量 a 的值。

通过使用 nullish 合并运算符,我们可以更轻松地避免因使用 undefined or null 类型的变量而导致的错误。接下来,我们将提供一些更实用的示例代码。

示例代码

示例 1:检查一个变量是否未定义

常见的问题之一是检查一个变量是否已经定义。在旧版本的 JavaScript 中,通常使用以下方式:

----- - - ---

-- -- --- --------- -- - --- ----- -
    -------------- -- --- ----------
- ---- -
    -------------- -- ----------
-

在 ECMAScript 2019 中,我们可以使用 nullish 合并运算符:

----- - - ---
----- - - - -- -- -- --- ---------

--------------- -- --

在上面的代码中,变量 a 的值为空字符串,但由于 undefined 和 null 不是空字符串,因此这个代码不会执行指定的默认值。

示例 2:设置默认值

在旧版本的 JavaScript 中,如果要在变量值未定义或为空时使用默认值,则通常使用以下代码:

----- - - ---

----- - - -------- -- --

--------------- -- -

在 ECMAScript 2019 中,我们可以使用 nullish 合并运算符更轻松地实现相同的结果:

----- - - ---
----- - - --------- -- --

--------------- -- -

在上面的代码中,如果 a 的值未定义或为空,则使用默认值。否则,使用a的长度值。

结论

通过使用 ECMAScript 2019 的 nullish 合并运算符,我们可以更轻松快捷地避免 undefined or null 类型的错误。本文还提供了一些实用的示例代码,希望您能通过本文更好地理解和掌握这个重要的新功能。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/66f8fc21c5c563ced5c3dabb


猜你喜欢

  • 如何通过 Sass 实现响应式开发

    响应式设计已经成为现代网站设计的必备技能。 Sass 是一种预处理语言,可以帮助前端开发人员更轻松地管理 CSS 代码,使响应式开发变得更加容易。在这篇文章中,我们将介绍如何使用 Sass 实现响应式...

    23 天前
  • ES8 数组方法 fill(value, startIndex, endIndex) 详解

    在 ES8 Javascript 中,提供了一个数组方法 fill(),用于对指定数组的元素填充一个指定的值。它可以填充指定位置的元素,也可以填充整个数组。fill() 函数可以帮助我们更快地处理数组...

    23 天前
  • ES9 中新增的弃用函数 ——RegExp.prototype.compile() 详解

    随着 JavaScript 语言的不断发展,新的语法和功能不断涌现。而在 ES9 中,RegExp 对象新增了一个已被弃用的函数 —— compile()。本文将详细介绍这个函数的作用,为什么被弃用,...

    23 天前
  • Mocha 的第一个问题:“超时”

    Mocha 是一个流行的 JavaScript 测试框架,它有很多强大的功能和选项,用于编写和执行测试套件和测试用例。然而,使用 Mocha 时,你可能会遇到一个常见的问题,那就是“超时”。

    23 天前
  • Express.js 错误处理程序示例

    错误处理程序是任何 Web 应用程序的重要组成部分。通过正确地处理错误,我们可以为用户提供良好的用户体验,并且可以避免不必要的日志记录和安全漏洞。 Express.js 是一个流行的 Node.js ...

    23 天前
  • 在 Fastify 中使用 Yup 进行输入验证

    在开发 Web 前端应用时,输入验证是一项非常重要的工作。例如,您可能需要确保用户输入的电话号码是有效的,或者在提交表单之前确保表单中的所有字段均已填写完整。这可以避免应用程序在运行时出现错误或崩溃。

    23 天前
  • 如何在 Java 中使用 MongoDB

    简介 MongoDB 是一个高性能、无模式文档型数据库,常用于 Web 应用程序和云计算场景。Java 是一门流行的编程语言,被广泛用于 Web 开发和大数据领域中。

    23 天前
  • 使用 Custom Elements 为用户提供更好的体验

    使用 Custom Elements 为用户提供更好的体验 在构建现代 Web 应用程序时,我们通常都需要使用自定义 HTML 元素。这些自定义元素可以让 Web 开发人员更加方便地实现可重用组件,同...

    23 天前
  • 如何在 GraphQL 中实现多租户架构

    引言 现今,许多 SaaS 平台都采用多租户系统,以便于为不同的客户提供相应的服务。然而,实现多租户系统并不容易,更何况在 GraphQL 中实现。本文将探讨如何在 GraphQL 中实现多租户系统,...

    23 天前
  • 使用 Vue.js 和 SSE 实现 web 应用程序的实时通知机制

    在现代 web 应用程序中,实时通知机制是必不可少的一部分。在这篇文章中,我将向您介绍如何使用 Vue.js 和 Server-Sent Events (SSE) 实现实时通知机制。

    23 天前
  • 使用 Webpack 实现 SPA 的前后端分离以及 SEO 优化方案

    在现代 Web 应用开发中,单页应用(SPA)成为了一种流行的开发模型。 SPA 带来了更好的用户体验和性能,但也给前后端分离、SEO 等问题带来了挑战。本文将通过使用 Webpack 实现 SPA ...

    23 天前
  • Docker 快速部署 MySQL 集群

    在许多应用程序中,MySQL 集群是必须的,因为它提供了高可用性和可伸缩性。常常遇到的问题是如何在快速、高效、可靠的方式下部署 MySQL 集群。Docker 恰好可以解决这个问题。

    23 天前
  • React 项目性能优化指南

    React 是目前前端界最流行的 UI 库之一,但有时它的性能可能会受到影响,尤其是在复杂的应用程序中。 这篇文章将介绍一些优化 React 项目性能的最佳实践和技巧。

    23 天前
  • Sass 中如何使用变量和运算符实现颜色处理

    Sass 是一种 CSS 预处理器,它可以让你写出更加优美、可维护的 CSS 代码。在 Sass 中,我们可以使用变量和运算符来处理颜色,这样可以让我们更加灵活地管理颜色。

    23 天前
  • 响应式设计中如何使用响应式视频来提升用户体验?

    随着越来越多的用户使用移动设备浏览网页,响应式设计变得越来越重要。响应式设计是一种可以在不同设备上自适应显示的设计方式,可以使网页在各种设备上看起来更好。但是,对于包含视频的网站来说,如何在响应式设计...

    23 天前
  • 为 Express.js 应用程序添加全局错误处理程序

    Express.js 是一个流行的 Node.js Web 应用框架,它提供了许多有用的工具和功能,使得快速构建 Web 应用程序变得容易和愉悦。然而,在每一个应用程序中,都会有一些出现错误的可能性,...

    23 天前
  • Tailwind 常见错误及解决方法汇总

    Tailwind 是一种 CSS 框架,通过预定义的类来构建 UI,使得开发过程更加高效。然而,一些程序员可能会在使用过程中遇到错误和困难。本文将探讨一些常见的 Tailwind 错误及其解决方法,希...

    23 天前
  • 利用 CSS Grid 实现自适应的瀑布流布局

    前言 当我们在开发一个瀑布流布局的页面时,一般会使用 JavaScript 或者 jQuery 动态计算每个元素的位置,这种方式对性能的要求比较高,而且对页面响应时间有着不利的影响。

    23 天前
  • 服务正常运行时的不同 Serverless 性能测量方法

    Serverless 架构在近年来已经得到了广泛的应用,越来越多的应用程序开始采用 Serverless 架构的方式进行部署和运行。Serverless 可以帮助开发者更加专注于代码的编写,而不用考虑...

    23 天前
  • Socket.io 中如何实现分布式架构

    在 Web 应用程序中,使用实时通信能够提供更流畅和动态的用户体验。但是,当应用程序规模增长时,集中式架构可能会导致可用性问题和性能瓶颈。为此,许多开发人员选择采用分布式架构来解决这些问题。

    23 天前

相关推荐

    暂无文章