运算子算是一个简单的函式,他可以透过简单的单词或是符号,来对连接在前、后的值进行处理运算后,回传一个值。
以这个範例为说明,中间的等于就是 运算子,把右边的 '小明' 赋值给左边的变数 person。
而左右两边的内容,又称为 运算元。
依据运算元的数量不同,又可以分为一元、二元、三元的运算子。
大部分是二元的运算子,少部分是一元,还有一个是三元的运算子。
範例: 透过 + 的运算元会回传结果为 2
并不是所有的运算元都会放在中间
如图所示,运算子有可能在运算元之前、之后或是两个运算元之间。
一元运算子
例如 delete 运算子 可以删除物件的特定属性,如同上方MDN的截图所示。
另外 typeof
也是属于 一元运算子 喔!。
三元运算子
三元运算子又称为 条件运算子,就是简化版的 if/else。
var a = X ? y : z;
其中的 ? 以及 : 就是他的运算子。
而 X / y / z 就是他的运算元
如果 X 的条件判断为 true 就会回传 y, 若为 false 则回传 z。
二元运算子範例:
var aa = 1 + 1;
在这个範例中, a = 1 + 1;
包含了两个运算子,一个是 +
,另一个是 =
。
其中会先执行 +
,把左右两个运算元 1 相加等于 2 。
再透过 =
运算子,把2赋值倒左边的变数 a 上。
所以执行的顺序是这样
1 + 1> 2a = 2
一元运算子的範例:
var a = 'text';console.log(typeof(a));
这里的一元运算子就是指 typeof
, 相信大家有看过前几篇的文章应该就很熟悉他。
三元运算子的範例
// condition ? expre1 : expre2var result = (bmi > 20) ? '偏瘦' : '肉肉的' ;console.log(result);
这边 bmi 的变数就依照数值的内容,就会回传不同的表达式。
这篇文章就到这里,下一篇会来介绍运算子的优先度以及相依性~希望对你有帮助~汪汪!
参考文献:
[MDN](https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Guide/Expressions_and_Operators)