迹忆客 专注技术分享

当前位置:主页 > 学无止境 > WEB前端 > JavaScript >

详细介绍 JavaScript 中的一元、二元和三元运算符(带示例)

作者:迹忆客 最近更新:2023/02/20 浏览次数:

JavaScript 中有许多运算符,可让我们执行不同的操作。

这些运算符可以根据它们需要的操作数的数量进行分类,我们将在本篇文章中使用示例来解释这些类别。

根据所需的操作数数量,运算符分为三类:

  • 一元运算符:需要一个操作数 (Un)
  • 二元运算符:需要两个操作数 (Bi)
  • 三元运算符:需要三个操作数 (Ter)

请注意 ,这些类别不仅适用于 JavaScript。 它们一般适用于编程。

在本文的其余部分,我们将分享属于每个类别的一些运算符示例。


什么是操作数?

首先,让我们了解什么是操作数。 在操作中,操作数是正在操作的数据。 操作数与运算符结合进行运算。

看这个例子:

20 + 30

这里我们有一个求和操作(稍后我们将详细了解)。 这个操作涉及到加号+,这里有两个操作数:2030

现在我们了解了操作数,让我们看一下运算符的示例和它们所属的类别。


什么是一元运算符?

这些运算符需要一个操作数来运算。 提供两个或更多可能会导致语法错误。 以下是属于此类别的运算符的一些示例。

typeof 运算符

typeof 运算符返回值的数据类型。 它只需要一个操作数。 这是一个例子:

typeof "hello" // 👉️ string

如果你向它传递两个操作数,你会得到一个错误:

// ⛔️ Uncaught SyntaxError: Unexpected number
typeof "hello" 50

Javascript Uncaught SyntaxError- Unexpected number

delete 运算符

我们可以使用 delete 运算符删除数组中的项目或删除对象中的属性。 它是一个一元运算符,只需要一个操作数。 下面是一个数组示例:

const array = [2,3,4]
delete array[2]

console.log(array) // 👉️ [ 2, 3, <empty> ]

请注意 ,使用 delete 运算符从数组中删除项不是执行此操作的正确方法。 我在这里解释了为什么在这篇文章中

这是一个带有对象的示例:

const object = {
  name: "deeecode",
  age: 50
}
delete object.age

console.log(object) // 👉️ { name: 'deeecode' }

一元加 + 运算符

不要将此运算符与我将在本文后面解释的算术加运算符混淆。 一元加运算符尝试将非数字值转换为数字。 它在不可能的地方返回 NaN。 这是一个例子:

+"200" // 20 - number

+false // 0 - number representation

+"hello" // NaN

正如大家在这里再次看到的,只需要一个操作数,它位于运算符之后。

我将停止使用这三个示例。 但要知道还有更多的一元运算符,例如递增 ++、递减 ++ 和逻辑非! 运算符,仅举几例。


什么是二元运算符?

这些运算符需要两个操作数才能运算。 如果提供了一个或两个以上的操作数,则此类运算符会导致语法错误。

让我们看看属于这一类别的一些运算符

算术运算符

所有算术运算符都是二元运算符。 第一个操作数位于运算符的左侧,第二个操作数位于运算符的右侧。 这里有些例子:

10 + 20 // 30

20 - 5 // 15

30 / 6 // 5

如果不提供两个操作数,则会出现语法错误。 例如:

// ⛔️ SyntaxError: Unexpected end of input
10 +

javascript SyntaxError- Unexpected end of input

比较运算符

所有比较运算符也需要两个操作数。 这里有些例子:

80 < 20 // false

10 < 40 // true

2 >= 2 // true

赋值运算符 =

赋值运算符也是二元运算符,因为它需要两个操作数。 例如:

const number = 20

在左边,你有第一个操作数,变量(const number),在右边,你有第二个操作数,值(20)。

大家可能会问:“const 不是第二个操作数吗?”。 好吧,const 和 number 组成了一个操作数。 这样做的原因是 const 定义了数字的行为。 赋值运算符 = 不需要 const。 所以你实际上可以像这样使用运算符:

number = 20

但最好始终使用变量关键字。

所以就像我说的,将 const number 视为一个操作数,将右边的值视为第二个操作数。


什么是三元运算符?

这些运算符需要三个操作数。 在 JavaScript 中,有一个运算符属于这一类——条件运算符。 在其他语言中,也许会有更多的例子。

条件运算符 ?...:

条件运算符需要三个操作数:

  • 条件表达式
  • 如果条件为真,则计算真值表达式
  • 如果条件为假,则计算的假表达式。

这是它如何工作的示例:

const score = 99
const scoreRating = score > 63 ? "Good" : "Poor"

console.log(scoreRating) // 👉️ "Good"

第一个操作数——条件表达式——是 score > 50

第二个操作数——真值表达式——是“Good”,如果条件为真,它将返回给变量 scoreRating

第三个操作数——虚假表达式——是“Poor”,如果条件为假,它将返回给变量 scoreRating

关于为什么三元运算符不是 JavaScript 中的条件运算符,我们接下来会写一篇文章进行介绍。


总结

JavaScript 中的操作涉及一个或多个操作数和一个运算符。 运算符可以根据它们需要的操作数的数量进行分类。

在本文中,我们了解了三类运算符:一元二元三元。 我们还查看了属于每个类别的 JavaScript 中的运算符示例。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Do you understand JavaScript closures?

发布时间:2025/02/21 浏览次数:108 分类:JavaScript

The function of a closure can be inferred from its name, suggesting that it is related to the concept of scope. A closure itself is a core concept in JavaScript, and being a core concept, it is naturally also a difficult one.

Do you know about the hidden traps in variables in JavaScript?

发布时间:2025/02/21 浏览次数:178 分类:JavaScript

Whether you're just starting to learn JavaScript or have been using it for a long time, I believe you'll encounter some traps related to JavaScript variable scope. The goal is to identify these traps before you fall into them, in order to av

How much do you know about the Prototype Chain?

发布时间:2025/02/21 浏览次数:150 分类:JavaScript

The prototype chain can be considered one of the core features of JavaScript, and certainly one of its more challenging aspects. If you've learned other object-oriented programming languages, you may find it somewhat confusing when you start

JavaScript POST

发布时间:2024/03/23 浏览次数:96 分类:JavaScript

本教程讲解如何在不使用 JavaScript 表单的情况下发送 POST 数据。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便