【JavaScript】6_特殊运算符与优先级

简介: # 10、运算符的优先级和数学一样,JS中的运算符也有优先级,比如先乘除和加减。可以通过优先级的表格来查询运算符的优先级https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence\- 在表格中位置越靠上的优先级越高,优先级越高越先执行,优先级一样自左向右执行 优先级我们不需要记忆,甚至表格都不需要看 因为()拥有最高的优先级,使用运算符时,如果遇到拿不准的,可以直接通过()来改变优先级即可```html <script

10、运算符的优先级

和数学一样,JS中的运算符也有优先级,比如先乘除和加减。

可以通过优先级的表格来查询运算符的优先级

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence

- 在表格中位置越靠上的优先级越高,优先级越高越先执行,优先级一样自左向右执行

优先级我们不需要记忆,甚至表格都不需要看

因为()拥有最高的优先级,使用运算符时,如果遇到拿不准的,可以直接通过()来改变优先级即可

    <script>
        let a = 1 + 2 * 3 // 7
        a = (1 && 2) || 3
        console.log(a)
    </script>

拓展:JS特殊运算符

11.1 数字转化:单目运算符 +

单目运算符 + 作用于数字无效,结果不变。但是可以用来转化非数字类型为数字,等效于 Number()

let x = false;
let y = "";
let z = "123.4";
console.log(+x); // 0
console.log(+y); // 0
console.log(+z); // 123.4

用于非数字型之间的数学运算,很简洁:

let a = "12";
let b = "24";
console.log(+a + +b); // 36

11.2 逗号运算符 ,

逗号运算符能让我们处理多个语句,使用 , 将它们分开。每个语句都运行了,但是只有最后的语句的结果会被返回

let a = (3 + 4, 5 + 6);
console.log(a); // 11

11.3 布尔值转换符 !!

两个相邻的非逻辑运算符组成的 !!,可以将一个值转换为对应的布尔值。等效于 Boolean()

console.log(!!"0"); // true
console.log(!!0); // false
console.log(!!undefined); //false
console.log(!!"aaa"); // true

11.4 空值合并运算符 ??

我们将值既不是 null 也不是 undefined 的表达式定义为已定义的值(defined)。即:??

a ?? b 结果为:

  • a 已定义,则结果为 a
  • a 不是已定义的,则结果为 b

等价于:

(a !== null && a !== undefined) ? a : b;
相关文章
|
3月前
|
JavaScript
js运算符
js运算符
24 5
|
3月前
|
JavaScript 前端开发
JavaScript 运算符全知道
JavaScript 运算符全知道
63 0
|
4月前
|
JavaScript 前端开发
JavaScript 运算符
JavaScript 运算符
24 3
|
8月前
|
存储 JavaScript 前端开发
【JavaScript技术专栏】JavaScript基础入门:变量、数据类型与运算符
【4月更文挑战第30天】本文介绍了JavaScript的基础知识,包括变量(var、let、const)、数据类型(Number、String、Boolean、Undefined、Null及Object、Array)和运算符(算术、赋值、比较、逻辑)。通过实例展示了如何声明变量、操作数据类型以及使用运算符执行数学和逻辑运算。了解这些基础知识对初学者至关重要,是进阶学习JavaScript的关键。
60 0
|
5月前
|
JavaScript 前端开发
JavaScript 中的 typeof 运算符
【8月更文挑战第29天】
33 1
|
5月前
|
JavaScript 前端开发 安全
深入理解JavaScript中的比较运算符
深入理解JavaScript中的比较运算符
|
5月前
|
前端开发 JavaScript 程序员
聊聊前端 JavaScript 的扩展运算符 “...“ 的使用场景
聊聊前端 JavaScript 的扩展运算符 “...“ 的使用场景
|
5月前
|
JavaScript 前端开发
JS常见的运算符有哪些?
JS常见的运算符有哪些?
|
5月前
|
JavaScript 前端开发
JavaScript基础&实战(2)js中的强制类型转换、运算符、关系运算符、逻辑运算符、条件运算符
这篇文章详细介绍了JavaScript中的强制类型转换、运算符(包括算术、逻辑、条件、赋值和关系运算符)的使用方法和优先级规则。
JavaScript基础&实战(2)js中的强制类型转换、运算符、关系运算符、逻辑运算符、条件运算符
|
6月前
|
JavaScript 前端开发 网络架构
JavaScript编码之路【对象的增强、ES6新特性之函数的默认值设置 、rest参数 (剩余参数)、拓展运算符、对象与数组的解构赋值】
JavaScript编码之路【对象的增强、ES6新特性之函数的默认值设置 、rest参数 (剩余参数)、拓展运算符、对象与数组的解构赋值】
62 1