这是我参与「第五届青训营 」笔记创作活动的第3天,今天主要学习了Typescript入门,相关知识点如下。
1.js是动态类型语言,即执行后才编译,而ts是静态语言,即在执行之前就会进行预编译。他们都是弱类型语言,表示在运算前会有隐式转换。
2.ts的优点:可读性增强,基于语法的解析tsdoc,可维护性增强,在编译阶段暴露大部分错误,这些优点在多人合作的项目中可以活动更好的稳定性和开发效率。
3.在冒号前面加上一个问号表示这个key值是可有可无的
4.ts中的数据类型有typescript的数据类型主要有: 布尔类型(boolean) 数字类型(number) 字符串类型(string) 数组类型(array) 元组类型(tuple) 枚举类型(enum) 任意类型(any) null和undefined void类型 never类型 其中定义变量的形式为let 变量:类型=变量值
5.ts中函数的定义分为两种,有返回值和无返回值的 有返回值:
function name(params:type):type {
return paramType
}
或
let name=function (params:type):type {
return paramType
}
无返回值:
function name(params:type):void {
}
或
let name=function (params:type):void {
}
6.数组类型:
//数组定义方式1 let 变量名:数据类型[]=[值1,值2,值3]
let arr1:number[]=[10,20,30,40,50]
console.log(arr1)
//数组定义方式2 let 变量名:Array<数据类型>=[值1,值2,值3]
let arr2:Array<number>=[100,200,300]
console.log(arr2)
7.类型断言 类型断言:手动指定数据类型 类型断言语法1----> <类型>变量名 类型断言语法2----> 值 as 类型
需求:定义一个一个函数得到一个数字或字符串值的长度
function getLength(data:number|string):number{
if((<string>data).length){
//return (<string>data).length
return (data as string).length
}else{
return data.toString().length
}
}
console.log(getLength(100))
console.log(getLength('1000'))
总的来说ts对比js会更加适合开发者开发项目,因为其可维护性和可读性相较于js强大太多