Coffeescript-syntax
CoffeeScript-構文
前の章で、CoffeeScriptをインストールする方法を見てきました。 この章では、CoffeeScriptの構文を確認します。
CoffeeScriptの構文は、JavaScriptの構文と比較するとより優雅です。 中括弧、セミコロン、可変減速などの面倒な機能を回避します。
CoffeeScriptステートメント
C、C++、Javaなどの他の多くのプログラミング言語とは異なり、CoffeeScriptのステートメントはセミコロン(;)で終わりません。 その代わりに、すべての新しい行はCoffeeScriptコンパイラーによって個別のステートメントと見なされます。
例
CoffeeScriptステートメントの例を次に示します。
name = "Javed"
age = 26
同様に、以下に示すようにセミコロンを使用してそれらを区切ることにより、1行に2つのステートメントを書くことができます。
name = "Javed";age = 26
CoffeeScript変数(varキーワードなし)
JavaScriptでは、以下に示すように、作成する前に var キーワードを使用して変数を宣言します。
var name = "Javed"
var age = 20
CoffeeScriptで変数を作成する際、 var キーワードを使用して変数を宣言する必要はありません。 以下に示すように、変数に値を割り当てるだけで、変数を直接作成できます。
name = "Javed"
age = 20
括弧なし
一般に、関数の宣言、呼び出しの際に括弧を使用し、あいまいさを避けるためにコードブロックを分離します。 CoffeeScriptでは、括弧を使用する必要はありません。関数を作成する際には、以下に示すように括弧の代わりに矢印マーク(*→ *)を使用します。
myfunction = -> alert "Hello"
それでも、特定のシナリオでは括弧を使用する必要があります。 パラメータなしで関数を呼び出すときは、括弧を使用します。 たとえば、CoffeeScriptにmy_functionという名前の関数がある場合、以下に示すように呼び出す必要があります。
my_function()
同様に、括弧を使用してあいまいなコードを分離することもできます。 次の例を観察すると、括弧なしの場合、結果は2233であり、括弧付きの場合、45になります。
alert "The result is "+(22+33)
中かっこなし
JavaScriptでは、関数、ループ、条件ステートメントなどのブロックコードに中括弧を使用します。 CoffeeScriptでは、中括弧を使用する必要はありません。 代わりに、体内で適切なインデント(空白)を維持する必要があります。 これは、Python言語から着想を得た機能です。
以下は、CoffeeScriptの関数の例です。 ここでは、中括弧の代わりに、関数の本体を区切るためのインデントとして3つの空白を使用していることがわかります。
myfunction = ->
name = "John"
alert "Hello"+name
CoffeeScriptのコメント
どのプログラミング言語でも、コメントを使用して、記述したコードに関する説明を記述します。 これらのコメントは、プログラムの一部とは見なされません。 CoffeeScriptのコメントは、Ruby言語のコメントに似ています。 CoffeeScriptは次の2種類のコメントを提供します-
単一行コメント
CoffeeScriptの1行をコメントする場合は、次のようにハッシュタグをその前に配置するだけです。
# This is the single line comment in CoffeeScript
ハッシュタグ(#)に続くすべての行は、CoffeeScriptコンパイラーによってコメントと見なされ、コメントを除く、指定されたファイル内の残りのコードをコンパイルします。
複数行コメント
CoffeeScriptで複数の行(複数行)をコメントしたいときはいつでも、以下に示すようにトリプルハッシュタグのペアでそれらの行をラップすることでそれを行うことができます。
###
These are the multi line comments in CoffeeScript
We can write as many number of lines as we want
within the pair of triple hash tags.
###
CoffeeScriptの予約済みキーワード
CoffeeScriptのすべての予約語のリストを次の表に示します。 CoffeeScript変数、関数、メソッド、ループラベル、またはオブジェクト名として使用することはできません。
a |
場合 デフォルト 関数 var void with const let enum 輸出する インポート ネイティブ hasProp </emphasis>extends スライス </emphasis>バインド __の指標 実装する a |
他に インタフェース パッケージ 非公開 保護された パブリック 静的 産出 true 偽 null this new 削除する typeof in 引数 eval a |
instanceof 戻る スロー ブレーク 持続する デバッガ if else スイッチ for しながら do try キャッチ 最後に クラス 伸びる スーパー a |