演算子
演算子の優先順位(低い順)
Section titled “演算子の優先順位(低い順)”pipe— パイプラインor— 論理ORand— 論理ANDeq/ne/is/instanceof— 等価 / 型チェックlt/gt/le/ge— 比較add/sub— 加算 / 減算mul/div/mod— 乗算 / 除算 / 剰余- 単項:
not/neg/typeof/await/delete/new - 後置:
.アクセス /[args]呼び出し /asキャスト - 基本: リテラル、識別子、括弧
パイプライン
Section titled “パイプライン”data pipe filterdata pipe filter pipe mapdata pipe transform[extra-arg]data pipe .method[arg]コンパイル結果:
filter(data)map(filter(data))transform(data, extraArg)data.method(arg)const x be 42let y be 10y be 20a add b -- a + ba sub b -- a - ba mul b -- a * ba div b -- a / ba mod b -- a % bneg x -- -xeq と is は同じように使えます。右辺が型名(string, number, null, 大文字始まりのクラス名など)の場合は型チェックになり、それ以外は厳密等価比較(===)になります。
a eq b -- a === ba ne b -- a !== ba lt b -- a < ba gt b -- a > ba le b -- a <= ba ge b -- a >= b
-- eq と is は混同して使えるa eq b -- a === b(値の比較)a is b -- a === b(値の比較)a eq string -- typeof a === "string"(型チェック)a is string -- typeof a === "string"(型チェック)a and b -- a && ba or b -- a || bnot x -- !xeq と is はどちらも型名の前に置くと型チェックとして機能します。
x is string -- typeof x === "string"x eq string -- typeof x === "string"x is null -- x === nullx is MyClass -- x instanceof MyClassx instanceof Y -- x instanceof Ytypeof x -- typeof x