歡迎吐槽
一、 字面量
1. 數字字面量
0, 0xff, 0b10_01, .1
2. 字串字面量
'x', "x\n\uffff\Uffffffff", `x{1}y`
3. 布爾和空字面量
true, false, null
4. 陣列和物件字面量
[0, 1..8, 2...3, 3..-=1..1]
{x: 0, ...obj}
5. 函式字面量
x => x + 1
<T> (x: T, y) => { }
6. 型別字面量
<Float>0, <RegExp>'\w+', <X>[1, 2]
7. 識別符號
x, \x, \0, _
二、 運算式
8. 算數運算運算式
+, -, *, /, mod, ^
9. 比較運算運算式
==, !=, <, >, <=, >=
10. 邏輯運算運算式
&, |, !
11. 空值運算運算式
??, !
12. 賦值運算運算式
=, +=, -=, *=, /=, &=, |=, ??=, ->
13. 更新運算式
++, --
14. 型別操作運算式
as, is, X<Y>
15. this 運算式和 super 運算式
this, super
16. 訪問運算式
x.y, x?.y, x[y], x[^1, ^0]
17. 函式和建構式呼叫運算式
fn(p: x, y)
new X()
18. 分支運算式
x ? y : z
x match {0 => 1, 1 => 0}
19. 遍歷運算式
arr ~ sum
20. 括號運算式
(x)
三、 型別
21. 特殊型別
any, void
22. 數字字面量型別
0, 0xff, 0b10_01, .1
23. 字串字面量型別
'x', "x\n\uffff\Uffffffff", `x{1}y`
24. 布爾和空字面量型別
true, false, null
25. 陣列和物件字面量型別
[X, Y]
{x: X, y: Y}
26. 函式和建構式字面量型別
(x: X) => Y
new() => X
27. 區間型別
1..10, 2...10
28. 識別符號和成員訪問型別
X, \X, X.Y, $import("path").X
29. 泛型和陣列型別
X<Y>
X[]
30. 雙目運算和單目運算型別
&, |, -
31. this 型別
this
32. 條件型別
X is infer T ? T : Y
33. 括號型別
(X)
四、 宣告
34. 變數宣告
x := 0;
x: number = 0;
35. 訪問器宣告
get accessor { return 0 }
set accessor { print(value) }
36. 函式宣告
function fn<T>(x, y: T, z = 1, ...rest) => 0;
37. 類宣告
class X: Y {
field = 0;
get accessor => 0
set accessor { field = value; }
new() { }
method<T>(p: T) { }
plus(p) { }
explicit as Z() { }
}
38. 介面宣告
interface X { }
39. 列舉宣告
enum X { x, y = 1 }
40. 型別別名宣告
type X = Y;
41. 擴展宣告
extension X { }
42. 模塊宣告
module X { }
module "name" {}
五、 陳述句
43. 判斷陳述句
if (x) { }
if (x) { } else { }
44. 回圈陳述句
while (x) { }
45. 跳轉陳述句
break;
continue;
return x;
yield x;
46. 例外陳述句
try { } catch { } finally { }
throw "Error";
47. 確認陳述句
assert true;
48. 運算式和空陳述句
fn();
;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/285717.html
標籤:其他
上一篇:LRU演算法
