TypeScript
简称TS,是JavaScript的超集。
TS最终还是会变异为纯JS运行,JS适用的逻辑TS也可以用。
相关概念:
动态语言(弱类型语言):
变量无需声明数据类型,只有运行时才能确定变量的数据类型,可以改变变量的数据类型。
静态语言(强类型语言):
变量必须声明数据类型,在编译阶段就可以确定变量的数据类型,如果要改变数据类型,必须经过强制转换。
TS基础类型
enum(枚举)
枚举可以定义一组命名的常量。TypeScript提供了给予数字和字符串的枚举。
any(任意类型)
变量如果在声明时,未指定其类型,那么变量会被默认为any数据类型,通俗说声明any类型和写JS时没有区别。any会绕过类型检查。常用场景:接收用户输入或第三方代码库时,不确定会返回的值的类型。
unknown
该类型是ts中所有基础类型的父类,所有基础类型都能赋值为unknown类型。
void
ts函数必须指定返回类型,void代表没有类型,一般用在无返回值的函数
function sayHello(): void {
console.log('Hello world!');
}
never
该类型代表不存在的值的类型,never是ts的底部类型,可以赋值给任意类型的变量
常用于抛出异常或无限循环的函数返回类型
TS函数
function add(x: number[]):number {}add函数中定义输入参数x为数值型数组,输出参数为数值类型
TS接口
interface User {
name:string
password:string
}
const user1: User={
name:'user1',
passwoed:'123456'
}