数据类型

 TJS2 虽然不需要定义变量的「类型」,但在内部实际上变量拥有类型。相比“变量不具有类型”的说法,“类型将被自动地动态处理”这种说法更加准确。
 TJS2 的内部类型,有void, 整数型、实数型、字符串型、对象类型、字节串型等。

void

 void 表示“什么也没有” ( 与 JavaScript 中的意义不同 )。刚刚声明并且没有初始化的变量的值就是 void
 void 之间的比较可以使用 === (类型识别比较) 运算符。
 对于 void 类型变量,typeof 运算符将返回 "void"

整数型

 TJS2 把所有整数型当作 64bit 精度的整数处理。通常整数型都会被当作有符号整数处理,唯一的例外是 >>> 运算符会把左边当作无符号整数处理。
 对于整数类型变量,typeof 运算符将返回 "Integer"

实数型

 TJS2 把所有实数型当作 64bit 精度的实数 ( 双精度实数 ) 处理。
 对于实数类型变量,typeof 运算符将返回 "Real"

字符串型

 TJS2 的字符串是不定长度,以 0 终结的字符串。所谓的“以 0 终结的字符串”是指假定以 \0 终结的字符串。
 文字代码是以宽字符方式处理 ( 通常为 UNICODE ) ,具体使用 16bit的宽字符还是 32bit的宽字符由 TJS2 运行的的环境决定。比如说在 Windows 上是 16bit,在 Solaris 和 Linux 等环境下则是 32bit。
 对于字符串类型变量,typeof 运算符将返回 "String"

对象类型

 对象类型,是指TJS语言中表示对象的类型。除了使用 new 运算符创建的对象之外,函数、类、属性对象等都被作为对象类型处理。
 对于对象类型变量,typeof 运算符将返回 "Object"

 TJS 和 JavaScript 不同,TJS2 的对象类型,除了包含指向对象本身的指针之外,还包含指向对象所在的上下文对象的指针。闭包(Closure)功能的实现由于这种特性的存在而成为可能。变更对象上下文的运算符是 incontextof 运算符。

字节串型

 字节串型是处理 8bit 数据组成的数据串的类型。该类型的主要功能是处理二进制数据。
 对于字节串型变量,typeof 运算符将返回 "Octet"