ts基础之1:基本类型

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=['歆瑗网络','教师节快乐'];
    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();
    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();
    map.set(1,"a1");
    map.set(2,"a2");
    for(let items of map.values()){
        console.log(items);
    }
}
shuzu();

 

你可能感兴趣的:(ts)