# 項

項は、式評価の中でもっとも最高の優先順位にあるものです。これらは、通常の即値、識別子 ( → トークン ) の他、以下のものがあります。

# true と false

`true` と `false` ( 真と偽 ) は、それぞれ `1` と `0` の値を持つ整数値として扱われます。
`true` および `false` と、その他の式を比較することは避けてください。たとえば、`if(true != getBoolean())` のような事はせず、`if(!getBoolen())` のように記述してください。論理式では「0 が偽」、「0 以外が真」であって、「`1` が 真」では無く、また、TJS2 は 論理型(Boolean)を持っていないため、自動的な数値←→論理型の型変換が行われないためです。

# void

`void` は、「なにもない」を示します。「なにもない」ことを表す様々な場面で使用されます。`null` とは違います。
宣言したての変数 (何も代入されていない変数) は、この値です。
文字列として扱われた場合、空文字列 ( '' )になります。数値として扱われた場合、 0 になります。
`void` 同士の比較には `===` か `!==` ( 識別 ) 演算子を使うことをおすすめします。

# null

`null` は、オブジェクトではあるが「なんのオブジェクトも示していない」とうことを示します。`void` とは違います。
null オブジェクトにアクセスしようとするとエラーになります。
incontextof 演算子を用いて コンテキストを null に変更すると、その関数は、呼び出した位置のコンテキスト上で実行されるようになります。
`例:
var objmethod = obj.method;
objmethod(); // obj のコンテキスト上で実行される
objmethod = objmethod incontextof null; // コンテキストを null に変更
objmethod(); // this (つまり呼び出した位置におけるコンテキスト) 上で実行される
`

# Infinity

`Infinity` は、無限大を表します。負の無限大を表す場合は `-Infinity` です。

# NaN

`NaN` は、非数 (Not a Number) を表します。非数は計算の結果が無効な場合などに得られる数値です。

# super

`super` は、クラスのメソッド/プロパティ内で、そのクラスのスーパークラスを表します。クラスのメソッド/プロパティではないところ、あるいは多重継承を行っているクラス内で参照しようとするとエラーになります。

# global

`global` は、グローバルのオブジェクトを表します。すべてのブロックの外で宣言された変数や、クラス、クラスのメソッドでない関数などにアクセスできます。
`例:
var v;
function test(v)
{
global.v=v; // global の v に、引数の v を設定する
}
`

# this

`this` は、クラスのメソッドやプロパティ内で、通常、そのクラスのオブジェクト自身を表します。
呼び出し時に明示的あるいは暗黙的に指定された「コンテキスト」が `this` として指定されます。

# 式中関数

`function` を使って、式中に関数を書くことができます。関数 を参照してください。

# 式中配列

`[ ]` を使って、式中に `Array` クラスのオブジェクトをその場で記述することができます。Array クラス を参照してください。

# 式中辞書配列

`%[ ]` を使って、式中に `Dictionary` クラスのオブジェクトをその場で記述することができます。Dictionary クラス を参照してください。