入门TS基础类型的理解
基础类型篇
ts基础类型 沿用js
js就有的 ----布尔值,数字,字符串,Null 和 Undefined,数组,Object
js没有的 ----Tuple,enum,Any,Void,Never,类型断言
看一下具体的用法,基本都是变量后面跟一个 let xx:类型 = 值
let decLiteral: number = 6; //十六,十,八,二(进制)
let sentence: string = `Hello, my name is ${ name }.`
let list: number[] = [1, 2, 3];
let list: Array<number> = [1, 2, 3]; //泛型模式
ts基础类型 新增
Tuple 已知类型和数量
enum enum Color {Red, Green, Blue}
any 任意类型
void 没有任何类型,常用于函数无返回值
Never 永不存在得值类型
类型断言 xxx as 类型
这里面说一下枚举 enum
top不赋值情况下永远是0,其余在前一个基础上+1
enum handle{top,right,bottom,left}
console.log(top) //0
console.log(right) //1
console.log(bottom) //2
console.log(left) //3
如果在中间赋值----top还是0,
被赋值后就等于被赋予的值
如果当前元素的前一个元素被赋值了 当前元素的值=前一个元素的值+1
enum handle{top,right,bottom=3,left}
console.log(top) //0
console.log(right) //1
console.log(bottom) //3
console.log(left) //4
void
//常在函数没有任何返回值时使用
function warnUser(): void {
console.log('this is warning')
}
let x: void = undefined // 只能复制undefined或null
never
函数没有返回值或者抛错的时候常用never
可以赋值给任何类型
// 抛出异常
function error(message: string): never {
throw new Error(message)
}
// 永不结束的函数
function inifiniteLoop(): never {
while (true) {
}
}
作者:撸狗吸猫
链接:https://juejin.cn/post/6844904012731383822
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
说一下类型断言
其实中文文档上面说的已经比较清楚了
你会比TypeScript更了解某个值的详细信息。 通常这会发生在你清楚地知道一个实体具有比它现有类型更确切的类型。
两种实现方式 — 第一种
let someValue: any = "this is a string";
let strLength: number = (<string>someValue).length;
第二种
let someValue: any = "this is a string";
let strLength: number = (someValue as string).length;