一、数据类型
- any 任意类型
- string 一个字符系列,使用单引号(')或双引号(")来表示字符串类型。反引号(`)来定义多行文本和内嵌表达式。
- number 双精度浮点型
- boolean 布尔类型
- 数组类型:
- Array
- Type [ ]
- 元组 用来表示已知元素数量和类型的数组,各元素的类型不必相同
- enum 枚举
- void 没有返回值
- null 空值
- undefined 未定义
- never 从未出现的值
- 联合类型 Type1|Type2|Type3
二、运算符
- 算术运算符 + - * / % ++ --
- 逻辑运算符 && || !
- 关系运算符 == != > < >= <=
- 按位运算符 & | ~ ^ << >> >>>
- 赋值运算符 = += -= *= /=
- 三元/条件运算符 ? :
- 字符串运算符 +
- 负号运算符 -
- 类型运算符 typeof
三、 类/接口
- 修饰符
- 继承
- 静态属性
- 可选属性:变量名 ?: type
:语法和Java大致相同,可参考文档
四、函数
- 定义
function function_name(){ // 执行代码 }
- 调用函数
Function 变量名()
-
函数返回值
function function_name():return_type {
// 语句
return value;
}
- 带参函数
function func_name( param1 [:type], param2 [:type]) {
}
- 可选参数
function func_name( param1? [:type], param2? [:type]) {
}
- 默认参数
function function_name(param1[:type],param2[:type] = default_value) {
}
- 剩余参数:不确定数量的参数
function func_name( param1 [:type], …param2 [:type]) {
}
- 匿名函数
var res = function( [arguments] ) { ... }
- 匿名函数自调用
(function( [arguments] ) { ... })()
- 构造函数
var res = new Function ([arg1[, arg2[, ...argN]],] functionBody)
- 递归函数:递归函数即在函数内调用函数本身
function factorial(number) {
if (number <= 0) { // 停止执行
return 1;
} else {
return (number * factorial(number - 1)); // 调用自身
}
};
console.log(factorial(6));
- Lambda函数
( [param1, parma2,…param n] )=>statement;
- 函数重载
重载是方法名字相同,而参数不同,返回类型可以相同也可以不同。
每个重载的方法(或者构造函数)都必须有一个独一无二的参数类型列表。
五、命名空间 namespace
namespace SomeNameSpaceName {
export interface ISomeInterfaceName { }
export class SomeClassName { }
}
:加export(关键字)定义的类或接口等可以在命名空间外调用
1.在同一文件不能命名空间调用
SomeNameSpaceName.SomeClassName;
2.在不同文件调用
/// <reference path = "SomeFileName.ts" />
:三斜杠 /// 引用
六、模块
// 文件名 : SomeInterface.ts
export interface SomeInterface { // 代码部分 }
:加export(关键字)定义的类或接口等可以在此模块外调用
1.调用方法
import someInterfaceRef = require("./SomeInterface");