Type

29 阅读1分钟

这是我参加第五届青训营笔记创作活动的第四天

TypeScript

TS静态类型 弱类型语言

js动态类型 弱类型语言

静态类型 执行阶段不是进行类型匹配 java 提前进行类型匹配只能先编译后执行
动态类型 执行阶段才会进行确定类型匹配
区分:编译在执行前还是执行时

弱类型 会进行隐式类型转换
强类型 不会进行隐式类型转换

基本语法 变量 变量名: 类型名称 = 值; const q: string="string";
const w: number=1;
const e: boolean=true;
const t:undefined = undefined;

const Bytedancer(对象):IBytedancer(类型)={
    jobId:9303245,
    name:'lin',
}
interface IDtedancer{
    readonly(只读属性) jobId:number;
    sex:'man'|'woman'|'other';
    hobby?:string;(可选,可在可不在)
    [key:string]:any;
}

只读属性:约束属性不可在对象初始化外赋值
可选属性:定义该属性可以不存在
任意属性:约束所有对象属性都必须是该属性子类型

函数类型声明

1:直接在函数类型上进行补充 2:给函数变量赋值一个函数声明

function add(x,y){
 return x+y;
}

法一

function add(x:number,y:number):number(返回值类型){
    return x+y;
}
const mult:(x:number,y:number)=>number(返回值类型)=(x,y)=>x*y;

法二

    interface IMult{
        (x:number,y:number):number;
    }
    const mult: IMult=(x,y)=>x*y;

函数重载