1. tsc xxx.ts 这是编译typescript代码的命令 ;
2. null、undefined 不是类型,可以用于给其它类型赋值;
3. var、let、const 可用于声明一个变量,用 var 变量保存在最近的函数作用域;用 let可以保存在块作用域中;const保存 在创建位置的作用域中的常量,不允许第二次赋值;
4.数组声明有两种方法:(1)var list:number[] = [1,2, 3]; (2)var list:Array<number> = [1, 2, 3];
各种类型的数组 var list:any[] = [1, true, "helloworld"];
5. console.log() 打印 alert()
6. 运算符号:==比较两个运算元的值是否相等; ===比较两个运算元的值和类型是否都相等;!= 值不能;!== 值和类型都不等
7. 函数声明:function greetName(name:string):string {}
函数表达式:var greetUnameed = function (name:string):string {}
console.log(greetName("John"));
console.log(greetUnameed("John"));
以上两个函数非常相似,但是解析器会在解析阶段就执行函数声明,函数表达式只有在赋值的时候才会被执行。
8. function add(foo:number, bar?:number):number{}.
bar?:加个问号指的是这个参数是可选参数,且可选参数必须放在必选参数的后面;如果不加问号就是必选参数,在用到此函数的时候是必须要赋值的,否则会报错提示参数不匹配。
function add (foo:number, bar:number, foobar:number = 0):number{}
foobar:number = 0 :该参数设置了默认参数,当调用此函数没有给foobar赋值时,foobar默认值为0,默认参数也必须放在参数列表的后面。
function add(...foo : number[]):number{
var result = 0;
for(var i = 0; i < foo.length; i++)
result += foo[i];
return result;
}
...foo:number[] :这是剩余参数,可以添加多个参数,而不用明确在上面写出来
9.继承(extends):一个子类只能继承一个父类。
10.定义一个 外部模块
//第一种:
class UserModel{
//..
}
export {UserModel}
//第二种:
export class UserModel{
//..
}
//第三种:别名输出
class UserModel{
//..
}
export {UserModel as User} //UserModel输出User
//第四种:声明输出所有同名定义
interface UserModel{
}
class UserModel{
}
export {UserModel};//输出接口和函数
11.引入一个模块
import {UserModel} from "./models";