let isShow:boolean=false;
const count:number=1024;
const name:string='tom';
const list:number[]=[1,2,3];
const list1:Array<number>=[1,2,3];
const x:{[kee:string]:number}={key:1};
const x:[string,number]=['hello',10];
enum Color {Red,Green,Blue}
const c:Color=Color.Green; //c==1;//获取是下标
let g:Color=Color[1]; //c=='Green';获取的是字符串
const not:any=4;
let unusable:void=undefined;
function warn():void{
//没有return
}
let u:undefined=undefined;
let n:null=null;
function error (message:string):never{
throw new Error(message); //类型void
}
let o:object={};
let o:{}={};
interface LabelledValue{
label:string,
name?:string, //可选参数
readonly x: number; //只读属性
[propName: string]: any,//签名,
}
let ro: ReadonlyArray<number> = [1,2,3]; 不可变数组
function printLabel(labelledObj:LabelledValue):boolean{
}
interface StringArray {
readonly [index: number]: string;
}
let myArray:StringArray=['bod'];
let myStr:string=myArray[0];
interface shape {
color:string,
}
interface shape1 {
color1:string,
}
interface Square extends Shape { //单一继承
sideLength: number;
}
interface Square1 extends Shape,shape1 { //多继承
sideLength: number;
}
function getName<T>(arg:T):T{
return arg
}
enum Response {
No = 0, //默认是下标
Yes = 'hello',
}
function respond(recipient: string, message: Response): void {
//message =='hello'
// ...
}
respond("Princess Caroline", Response.Yes)
export interface StringValidator {
name:string
}
namespace Validation {
export interface StringValidator {
isAcceptable(s: string): boolean;
}
}
<!-- Validation.StringValidator -->
Validation.ts
namespace Validation {
export interface StringValidator {
isAcceptable(s: string): boolean;
}
}
LettersOnlyValidator.ts
/// <reference path="Validation.ts" />
namespace Validation {
const lettersRegexp = /^[A-Za-z]+$/;
export class LettersOnlyValidator implements StringValidator {
isAcceptable(s: string) {
return lettersRegexp.test(s);
}
}
}
test.ts
/// <reference path="Validation.ts" />
/// <reference path="LettersOnlyValidator.ts" />
namespace声明可以用来添加新类型type sn=number |string声明基本类型;interface I{x:number[]}声明对象declare全局变量class C implements Disposable, Activatable {},类继承接口
static静态private私有public公共protected修饰符与 private修饰符的行为很相似,但有一点不同,protected成员在子类中仍然可以访问
JSX.Element