/

JavaScript 的詞法結構

JavaScript 的詞法結構

深入了解 JavaScript 的組成要素:Unicode、分號、空白、大小寫敏感性、註釋、面值和識別符以及保留字。

Unicode

JavaScript 使用 Unicode 編寫。這意味著您可以使用表情符號作為變量名稱,但更重要的是,您可以使用任何語言編寫識別符,例如日語或中文,但需要遵守一些規則(詳見數學家 Mathias Bynens 的筆記)。

分號

JavaScript 具有非常類似 C 語言的語法,您可能會看到許多代碼示例在每行末尾都有分號。

分號不是必需的,JavaScript 不使用分號的代碼也沒有任何問題,最近許多開發人員,特別是那些不習慣使用分號的語言的開發人員,開始避免使用它們。

只需避免進行奇怪的操作,例如在多行上鍵入語句

1
2
return
variable

或以括號([()開頭的行,99.9% 的情況下您是安全的(並且您的程式碼風格檢查工具會提醒您)。

是否使用分號取決於個人偏好,我最近已經決定從不添加無用的分號,因此在本站上您將永遠看不到它們。

空白

JavaScript 不會將空白視為重要字符。空格和換行可以按照任何方式添加,雖然從理論上講是這樣的。

實際上,您可能會保持良好定義的程式碼風格,並遵從人們通常使用的方式,並使用程式碼風格檢查工具或工具(例如 Prettier)來強制執行。

例如,我喜歡總是使用 2 個字符縮進。

大小寫敏感

JavaScript 是大小寫敏感的。變量 somethingSomething 是不同的。

對於任何識別符也是一樣。

註釋

JavaScript 中有兩種註釋方式:

1
2
3
/\* \*/

//

第一種可以跨越多行,必須關閉。

第二種註釋掉當前行右側的所有內容。

面值和識別符

我們將編寫在源代碼中的值稱為面值,例如數字、字符串、布爾值,還有更高級的構造,例如對象字面量或數組字面量:

1
2
3
4
5
5
'Test'
true
['a', 'b']
{color: 'red', shape: 'Rectangle'}

識別符是一個字符序列,用於識別變量、函數或對象。它可以以字母、美元符 $ 或下劃線 _ 開始,並可以包含數字。使用 Unicode,字母可以是任何允許的字符,例如表情符號 😄。

1
2
3
4
5
6
Test
test
TEST
\_test
Test1
$test

美元符號通常用於引用 DOM 元素。

保留字

以下是不允許作為識別符的詞語:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
break
do
instanceof
typeof
case
else
new
var
catch
finally
return
void
continue
for
switch
while
debugger
function
this
with
default
if
throw
delete
in
try
class
enum
extends
super
const
export
import
implements
let
private
public
interface
package
protected
static
yield

因為它們被語言保留。