2024-05-06|閱讀時間 ‧ 約 28 分鐘

《Ae教學》【搞什麼系列】番外2-Ae運算 (運算子)_AE表達式(expression)

AE表達式(expression)-Ae 運算

AE表達式(expression)-Ae 運算

叮咚! 村長的補課時間!今天來說明運算的那些事!



1+2
"1+2"

上面兩個咒語的差別在哪裡?

建立 2 個文字圖層,在 Source Text 分別使用上面兩個咒語,結果如下:

運算子與字串差別

1+2 是運算,而用 "" 引號中為字串 (字串為顯示""內的字符,之後的篇章再做介紹)

提到運算,就會有運算元、運算子。

什麼是運算元、運算子?

1+2
意思就是:運算元(1) 運算子(+) 運算元(2)



在表達式中做運算需要宣告變數,不僅可以讓做的事情更多,也比較不容易產生錯誤,那如何宣告變數呢?

宣告變數的方法

let 是什麼?

宣告一個只作用在當前區塊的變數,初始值可選擇性的設定。


var 是什麼?

宣告一個全域性變數,同時可以非強制性地賦予一初始值。


var、let 差異?

let 可以宣告只能在目前區塊、階段或表達式中作用的變數。而 var 則是定義了一個全域變數,或是在整個 function 而不管該區塊範圍。


運算子常用類型

賦值運算子(如:=)

一個賦值運算子將基於其右方的運算元的值賦予其左方的運算元。
最簡單的賦值運算子是等於(=),它將賦予左方運算元與右方運算元相同之值。 也就是,x = y 會把 y 的值賦予給 x。

基礎類型

類型 簡化表達式 意義

  • 賦值  x = y x = y
  • 加法賦值 x += y x = x + y
  • 減法賦值 x -= y x = x - y
  • 乘法賦值 x *= y x = x * y
  • 除法賦值 x /= y x = x / y
//賦值
var a = 10;
a
//加法賦值,意思為 a = a + 15
var a = 10;
a += 15
//減法賦值,意思為 a = a - 15
var a = 10;
a -= 15
//乘法賦值,意思為 a = a * 15
var a = 10;
a *= 15
//除法賦值,意思為 a = a / 10
var a = 10;
a /= 10

賦值運算子



比較運算子 (==、>=......)

比較運算元並基於比較的結果回傳邏輯值。
運算元可以是數字,字串,邏輯,或物件的值。

  • 等於 (==)
    假如運算元等價就回傳 True。不管比較運算元的兩邊是否為同型態。
//等於 (==),比較運算元的兩邊為相同型態
var a = 10;

if ( 10 == a ){
true
}
//等於 (==),比較運算元的兩邊為不同型態,""引號內型態為字串
var a = 10;

if ( "10" == a ){
true
}
  • 不等於 (!=)
    假如運算元等價就回傳 True。不管比較運算元的兩邊是否為同型態。
//不等於 (!=),比較運算元的兩邊為相同型態
var a = 10;
var b = a-5;

if ( a != b ){
true
}
//不等於 (!=),比較運算元的兩邊為不同型態,""引號內型態為字串
var a = 10;
var b = a-5;

if ( "a" != b ){
true
}

等於、不等於

  • 嚴格等於 (===)
    假如運算元具有相同型態且等價則回傳 True。
== 與 === 的差別
===(嚴格相等) 比較兩個值,而被比較的兩個值都不會轉換成其他型別。如果值是不同型別,就會被視為不相等
//嚴格等於 (===)
var a = 10;

if ( 10 === a ){
true
}
//嚴格等於 (===),因比較運算元的兩邊為不同型態,""引號內型態為字串
var a = 10;

if ( "10" === a ){
true;
}
else{
false
}
  • 嚴格不等於 (!==)
    假如運算元具有相同型態但不等價,或是具有不同型態,回傳 True。

嚴格等於

  • 大於 (>)
    假如左方運算元大於右方運算元,回傳 True。
  • 大於或等於 (>=)
    假如左方運算元大於或等於右方運算元,回傳 True。
  • 小於 (<)
    假如左方運算元小於右方運算元,回傳 True。
  • 小於或等於 (<=)
    假如左方運算元小於或等於右方運算元,回傳 True。

備註: => 不是運算子,是 箭頭函式。


算術運算子 (如:+ - * /)

以數值(文字或變數也可以)作為其運算元,並回傳單一數值。
最常見的算術運算元是 加法 (+),減法 (-), 乘法 (*),及除法 (/)。

除了標準的算術運算子外 (+, -, * /),下面再舉例幾種

  • 增加 (++)
    一元運算子。 將運算元增加 1。假如使用在運算元之前 (++ a),會運算元回傳增加 1 後的值;假如使用在運算元之後。 (a ++), 會回傳運算元加 1 前的值。
//11
var a = 10;
++ a
//10
var a = 10;
a ++
  • 減少 (--)
    一元運算子。 將運算元減少 1。回傳值的情況與增加運算元相同。
//9
var a = 10;
-- a
//10
var a = 10;
a --

++ a、a ++、-- a、a --

  • (一元運算子)減號 (-)
    一元運算子。回傳運算元的負數 例如 a 是 10,-a 回傳 -10。
//-10
var a = 10;
- a
  • (一元運算子)加號 (+)
    一元運算子。嘗試將運算元轉換成數字,假如它還不是數字的話。例:+"10" 回傳 10。 +true 回傳 1
//10
var a = "10";
+ a
  • 指數運算子 (**)
    計算以 a 為底的 b 次方。例如:a ** 2 回傳 a2 的運算結果。
//100
var a = 10;
a**2

- a、+ a、**


邏輯運算子 (&&、||、!)

通常被用於布林(邏輯)值; 使用於布林(邏輯)值時,它們會回傳布林型態的值。
然而,&& 和 || 運算子實際上是回傳兩指定運算元之一,因此用於非布林型態值時,它可能會回傳一個非布林型態的值。

  • AND (&&)
    && 在兩個運算元都是 True 時才會回傳 True,否則回傳 false。
// && 兩邊都是true​,回傳 true​
var a = 10;
var b = 30;

if ( a == 10 && b == 30 ){
true;
}else{
false
}
// && 一邊為 true,一邊為 false​,回傳 false
var a = 10;
var b = 30;

if ( a == 10 && b == 20 ){
true;
}else{
false
}
  • OR (||)
    || 在兩個運算元有任一個是 True 時就會回傳 True,否則回傳 false。
// || 一邊為 true,就會回傳 true
var a = 10;
var b = 30;

if ( a == 10 || b == 20 ){
true;
}else{
false
}
  • NOT ( !)
    ! 運算式假如單一個運算元能被轉換成 True 時,回傳false,不然回傳 true。
//只要 true 時,就回傳 false
var a = 10;
var b = 30;

if ( ! ( a == 10 && b == 30) ){
true;
}else{
false
}

邏輯運算元



今天的筆記就到這邊,如果還有學到新東西會持續更新!




喜歡的話可以點喜歡!也可以分享出去招募更多勇者!
怕忘記的話也可以點收藏!熱烈歡迎留言交流互動!


以下是

村長的宣傳時間

歡迎私訊聯絡!在 instagram 有最新的作品供參考!

YouTube 更新每月動畫合集


合作請

私訊 Instagram

或寄信至 x.fei.4044@gmail.com


分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.