企业网站建设费怎么入账,北京移动网站建设公司排名,seo网站建设及扩词,自己如何做外贸公司网站TypeScript 是什么#xff1f;
是以avaScript为基础构建的语言个一JavaScript的超集。可以在任何支持JavaScript的平台中执行。TypeScript扩展了JavaScript,并添加了类型。TS不能被JS解析器直接执行#xff0c;需要编译成js。
基本类型
声明完变量直赴进行赋值 let c: boo…TypeScript 是什么
是以avaScript为基础构建的语言个一JavaScript的超集。可以在任何支持JavaScript的平台中执行。TypeScript扩展了JavaScript,并添加了类型。TS不能被JS解析器直接执行需要编译成js。
基本类型
声明完变量直赴进行赋值 let c: boolean false;
如果变量的声明和赋值是同时进行的TS可以自动对变量进行类型检测 let c false; c true;
JS 中的函数是不考虑参数的类型和个数的
function sum(a, b){return a b;
}
sum( 123, 456); // 579
sum( 123, 456); // 123456如果是ts参数类型限制个数也有限制 在参数小括号后面加类型设置函数的返回值
function sum(a:number, b:number):number{return a b;
}
sum( 123, 456); // 579 自动类型判断
。 TS拥有自动的类型判断机制 。当对变量的声明和赋值是同时进行的TS编译器会自动判断变量的类型。所以如果你的变是的声明和赋值时同时进行的可以省略掉类型声明。
类型
类型例子描述number1,-33,2.5任意数字string*hi’, “hi”, hi任意字符串booleantrue、false布尔值true或false字面量其本身限制变量的值就是该字面量的值any*任意类型unknown*类型安全的anyvoid空值(undefined)没有值 (或undefined)never没有值不能是任何值object{“key”:“value”}任意的]S对象array[1,2,3]任意]S数组tuple[4,5]元素TS新增类型固定长度数组enumenum(A. B)枚举TS中新增类型
使用
// 字面量
let a:10;
a 10;// a只能等于 10.let sex : male |female;
sex male
sex female // sex 只能等于这两个值// any 表示的是任意类型一个变量设置类型为any后相当于对该变量关闭了TS的类型检测// 使用TS时
let d: any;
// 声明变如果不指定类型则TS 解析器会自动判断变的类型为any(隐式的any)
let d;
d 10;
d hello;
d true;let e:unknown;
e hello
e 10
e false;
let s :string// d的类型是any它可以赋值给任意变量
s d;
e hello;
// unknown 实际上就是一个类型安全的any。 unknown美型的变量不能直接赋值给其他交量。
// 解决1可以通过判断类型来解决赋值
if(typeof e string){s e;
}
// 解决2类型断言可以用来告诉解析器变最的实际类型
s e as string; // 语法1变 as 类型
s stringe; // 语法2类 变量// never 表示永远不会返回结果
function fn2(): never{throw new Error(报错了!);
}// 用来指定对象中可以包含哪些属性
// 语法: {属性名: 属性值属性名: 属性值}
// 在属性名后边加上?表示属性是可选的
let b: (name: string, age?: number};
b {name:孙悟空,age: 181};
// [propName: string]: any 表示任意类型的属性
let c: (name: string, [propName: string]: any}
c { name:猪八戒age: 18gender:男; }//设置函数结构的类型声明:
//语法:(形参: 类型形参: 类型 ...) 返回值let d: (a: number ,b: number)number;
d function (n1: number ,n2: number ): number{return 10;
}// 数组的类型声明:
//语法1 类型[]
// 语法2Array类型
// string[] 表示字符串数组
let e: string[];
e [a,b,c];
let g: Arraynumber;
g [1 23];//元组元组就是固定长度的数组
//语法:[类型类型类型]
let h: [string, number];
h [hello123];enum Gender{Male 0Female 1
}
let i:{name: string,gender: Gender)
i{name:zhangsangender:Gender.Male // 0
}
console.log(i.gender Gender.Male)补充
// 表示同时要满足
let j: { name: string } { age: number };
// j {name:孙悟空age: 181}// 美型的别名
type myType 1 1 2 1 3 1 4 1 5;
let k: myType;
let m: myType;
k 2;