Discord 自動發送邀請連結碼機器人
基本上是跟自動聊天機器人是一樣的。
主要是因為我自己要發送連結到各個頻道的時候一直找不到 shill 專區,花了很多時間很生氣。所以參考了 [零基礎上手] Discord 自動發言機器人 和 CryptoWilson / 威虎社 WTC 板友 leosoqq 大大的自動抽獎機器人,寫了一個自動發送連結機器人。
基本上是跟自動聊天機器人是一樣的。
主要是因為我自己要發送連結到各個頻道的時候一直找不到 shill 專區,花了很多時間很生氣。所以參考了 [零基礎上手] Discord 自動發言機器人 和 CryptoWilson / 威虎社 WTC 板友 leosoqq 大大的自動抽獎機器人,寫了一個自動發送連結機器人。
在 JavaScript 中,在「需要判斷的情境」下,一個真值 Truthy的值,就會被認為是 true
,除非他們被定義假值 Falsy。而被定義假值 Falsy 的有:false
、0
、-0
、0n
、""
、null
、undefined
和 NaN
。其餘為真值 Truthy,例如:"false"
。
不要跟寬鬆相等、嚴格相等弄混淆。
JavaScript 是弱型別的語言,容忍隱性的型別轉換,因此允許不同型別之間的比對 (包含 =
、>
、<
)。
寬鬆相等 ==
比對兩者型別轉換後的值、嚴格相等 ===
比對兩者的型別和值。
Primitive type 和 Reference type 都是 call by value。不一樣的是儲存的東西。結束!
有人會說 Reference type 是 call by reference 或 call by sharing (這個比較符合我的意思和理解)。但是請先去看這篇:值 (value)、指標 (pointer/address)、參考 (reference)。
優先性 Operator precedence:決定運算子運算或是說被語法解析的優先順序。
相依性 Associativity:當優先序相同時,使用相依性決定運算方向。
小學一定都學過最簡單的優先性和相依性概念:先乘除後加減。
所謂的運算子就是運算符號,運算子和 Expression 表達式有密不可分的關係。運算元就是運算子旁邊被拿來運算的東西,例:數字、變數等。
前面的單元有提到 Expression 表達式主要透過符號做一些運算,然後回傳結果。可以去這邊複習:六角學院 JS 核心筆記 (十)【運算子、型別與文法】- 陳述式與表達式
JavaScript 的型別主要分兩大類別,分別是原始型別 (Primitive type) 及參考型別 (Reference type)。
JavaScript 是動態型別、弱型別的語言。
所謂的動態語言,就是在執行的時候,變數才會依照賦予值的型別,來決定變數的型別。因此變數的型別是可以不斷改變的。
而弱型別則是,偏向容忍隱性的型別轉換,但是怎麼轉換是它自己決定。
詳情可以參考之前寫過的這篇:靜態語言 / 動態語言、強型別 / 弱型別、静態作用域 / 動態作用域。以下僅重點提到一些需要注意的觀念。
ASI 即 Automatic Semicolon Insertion,當程式碼沒有加上分號時,依照 ASI 的規則,自動插入分號。它會帶來一些好處,但是也會造成一些問題。
Statement 陳述式:主要在陳述一些命令,做一些事情,但是不回傳結果。
Expression 表達式:主要透過符號做一些運算,然後回傳結果。