类型
var a = 1; 隐式; var a:number = 1; 显示声明
var arr = []
类型:
基本类型:
联合类型:----- 选择
函数签名:
success:(a, b)=>void;
复合类型(Object Type):
var a:{x:xx, y:xx};
number, string, boolean, null, undefined, enum, any;
函数类型:
-
参数
- 函数签名
- 返回值
function show(a:number, b:number)
外部变量
declare var $;
接口-interface
- 和 java 不同
- 接口:约定、限制;
真面向对象
class 写法, extend, 多继承
访问修饰符:
- public 共有 任何人可以访问
- private 私有 只有类内部可以访问
- protected 受保护-友元 只有子类可以访问
泛型-- 别跟 “any” 搞混了 泛-- 宽泛
class Calc<T> {
a:T;
b:T;
show (c :T) {
alert(a + b + c)
}
} var obj = new Calc<number>();
obj.a = 12;
obj.b = 'abc'; // 报错 }
Array --- 泛型
interface Array<T> {
reverse() : T[];
sort(compare?: a(a:T, b:T) =>number):T[];
...
}
// 泛型:类型当参数传入
数组完成写法:var arr:Array<number> = new Array<number>();