1:布尔值
let isDone : boolean= true;
2:数字number
var testFun=function(){
let decLiteral: number = 6;
let hexLiteral: number = 0xf00d;
let binaryLiteral: number = 0b1010;
let octalLiteral: number = 0o744;
console.log(decLiteral);
console.log(hexLiteral);
console.log(binaryLiteral);
console.log(octalLiteral);
}
testFun();
输出:
6
61453
10
484
3:字符串string
var testFun =function(){
let as : string ='单引号定义字符串';
let bs : string ="双引号定义字符串";
console.log(as);
console.log(bs);
let name:string='杨阳';
let age:number=18;
//模板字符串是用反引号
let sentence : string=`模板字符串(反引号) : name is ${ name } , age is ${ age + 1 }.`;
//效果类似: let sen: string = "name is " + name + ", age is" + (age + 1) + " .";
console.log(sentence);
}
testFun();
4:any类型
var testFun=function(){
//toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。
let num :number =13.37;
console.log(num.toFixed(1));
let notSure: any = "toFixed失效";
notSure = 4.56789;
notSure.toFixed(1);
console.log(notSure);
}
testFun();
输出:
13.4
4.56789
5: void
只能为它赋予undefined和null,当一个函数没有返回值时,你通常会见到其返回值类型是 void:
function testVoid() :void {
console.log("返回值为空,表示没有任何类型");
}
6:Never
never类型是任何类型的子类型,也可以赋值给任何类型;然而,没有类型是never的子类型或可以赋值给never类型(除了never本身之外)。 即使 any也不可以赋值给never。通常表现为抛出异常或无法执行到终止点(例如无线循环)。比如:
let x: never;
let y: number;
// 运行错误,数字类型不能转为 never 类型
x = 123;
// 运行正确,never 类型可以赋值给 never类型
x = (()=>{ throw new Error('exception')})();
// 运行正确,never 类型可以赋值给 数字类型
y = (()=>{ throw new Error('exception')})();
// 返回值为 never 的函数可以是抛出异常的情况
function error(message: string): never {
throw new Error(message);
}
// 返回值为 never 的函数可以是无限循环这种无法被执行到的终止点的情况
function loop(): never {
while (true) {}
}
7:数组
基础类型 + 方括号
var shuzu =function(){
let crr:number[]=[1,2,3,4,5];
for(var items in crr){
console.log(crr[items]);
}
}
shuzu();
数组泛型
var shuzu =function(){
let arr:Array<string>=['歆瑗网络','教师节快乐'];
for(var items in arr){
console.log(arr[items]);
}
}
shuzu();
any在数组中的应用:
var shuzu =function(){
let crr: any[] = ['Yang Wei Xin', 18, { website: 'https://www.baidu.com' }];
for(var items in crr){
console.log(crr[items]);
console.log(`${crr[items]}`);
}
}
shuzu();
接口数组
interface NumberArray{
[index:number]:string
}
var shuzu =function(){
let crr:NumberArray=['1','2'];
for(var items in crr){
console.log(crr[items]);
}
}
shuzu();
8:元组
var shuzu =function(){
let mapArray= new Map<string, string>();
mapArray.set("a1","1");
mapArray.forEach((value , key) =>{
console.log(key +" "+value);
});
let map= new Map();
map.set("a2",2);
map.set("a1",1);
map.forEach((value , key) =>{
console.log(key +" "+value);
});
}
shuzu();
var shuzu =function(){
let map= new Map<number,string>();
map.set(1,"a1");
map.set(2,"a2");
for(let items of map.values()){
console.log(items);
}
}
shuzu();