• 一、typescript变量


    1.变量赋值了类型就不能赋值其他类型

    1     let a:number;
    2     let b:string;
    3     a = 10;
    4 
    5 //不可以
    6 //a="assdf";
    7 b="123"

    2.如果变量的声明和赋值是同时进行的,TS可以自动对变量进行类型检查

    let d = false;
    //TS在d声明时检测到是boolean类型,所以d不能赋值其他类型
    //d=12

    3.js中的函数是不考虑参数的类型和个数的,TS中需要指定参数类型和返回值

    JS代码:

    1 //js中的函数是不考虑参数的类型和个数的
    2 function sum(a,b){
    3     return  a+b;
    4 }
    5 sum(11,22);//33
    6 sum(11,"2222");//112222
    View Code

    TS代码:

     1 //TS中
     2 function sum_ts(a:number,b:number){
     3     return  a+b;
     4 }
     5 sum_ts(11,22);//33
     6 //不允许传参是string类型
     7 //sum_ts(11,"2222");//112222
     8 
     9 //函数的返回值是number
    10 function sum_ts_return(a:number,b:number):number{
    11     //return  a+"sdfsdf";//这个是不允许返回的
    12     return  a+b;
    13 }
    14 sum_ts(11,22);//33
    15 //不允许传参是string类型
    16 //sum_ts(11,"2222");//112222
    View Code

    4.object类型声明

    1 //object 表示一个js对象
    2 let cc:object;
    3 cc={};
    4 cc=function(){
    5 
    6 }

    4.1{}用来指定对象中可以包含哪些属性

    语法;{属性名:属性值}
    在属性名后面加?表示属性是可选的
    1 let ccc:{name:string,age?:number};
    2 //ccc={};
    3 ccc={name:"joy"};

    4.2:[propName:string]:any 任意类型的属性

    propName 任意属性名(string),属性值类型是any(不做限定)
    1 let cccc:{name:string,[propName:string]:any}
    2 cccc={name:"sdfsdfsdfsdf",xxx:111,xxa:"sdfsdf"}

    5.函数的声明

    设置函数结构的类型声明
    语法:(形参:类型,...)=>返回值
    1 let dd:(a:number,b:number)=>number
    2 dd=function(a,b){
    3     return a+b;
    4 }
    5 dd(1,2);

    6.数组:

    数组
     语法(声明的两种方式):
    • 类型[]
    • Array<类型>
    1 //string类型的数组
    2 let ee:string[]
    3 let eee:Array<number>

    7.元组,元组就是固定长度的数组

     语法:[类型,类型,类型]
    1 let h:[string,number];
    2 h=["sdfsdf",77]

    8.enum枚举:

     1 enum Gender{
     2     Male=0,
     3     Female=1
     4 }
     5 let eeee:{
     6     name:string,
     7     gender:Gender
     8 }
     9 eeee={
    10     name:"sdfsdf",
    11     gender:0
    12 }
    13 console.log(eeee.gender ===Gender.Male);

    9.& 和 |

    &:

    1 let j:{name:string} & {age:number};
    2 j={name:"joy",age:12312};

    |:这里的myType 1|2|3表示可以是1或者2或者3

    1 type myType = 1|2|3|4;
    2 let k:myType//等同于 let k:1|2|3|4
  • 相关阅读:
    Microsoft.Office.Interop.Excel, Version=12.0.0.0版本高于引用的程序集(已解决)
    关于dubbo的provider和consumer都配置timeout超时时间的情况
    cas单点登录-CAS5.1.3 overlay服务器搭建(二)
    cas单点登录-https的配置(一)
    mysql5.6性能优化
    jvm面试题
    关于Class.getResource和ClassLoader.getResource的路径问题
    构建流式计算卖家日志系统应用实践
    在分布式系统里看CAP定理
    bootstrap插件(对话框)bootbox参数和自定义弹出框宽度设置
  • 原文地址:https://www.cnblogs.com/lixiuming521125/p/16706474.html
Copyright © 2020-2023  润新知