🦐TypeScript语言
🐕一.TypeScript基本数据类型
-
在TS中基本数据类型和JS中基本一致,主要包括如下几种类型
-
string:字符串类型
const temp1:string = "aaa";
-
number:数字类型
const temp2:number = 123;
-
boolean:布尔类型
const temp3:boolean = false;
-
undefined:未赋值类型
-
在TS中在没有开启
strictNullChecks
下是其他类型的子类型const tmp2: undefined = undefined; const tmp4: string = undefined;
-
-
null:空类型
-
在TS中在没有开启
strictNullChecks
下是其他类型的子类型const tmp1: null = null; const tmp3: string = null; // 仅在关闭 strictNullChecks 时成立,下同
-
-
bigint:任意长度整型
-
bigint可以表示任意长度的整数类型,和number松散相等(==),不能在JSON.stringfy中使用
const temp4:bigint = 3234345254524542524525n; const temp5:bigint = Big(22435525252);
-
-
symbol:表示独一无二的值
-
表示独一无二的值,表示的值和JS中没有任何区别,TS是完全支持JS的。
const temp1:symbol = Symbol("foo"); const temp2:symbol = Symbol('foo'); console.log(temp1 == temp2)
-
-
Array:数组类型
-
数组类型,和JS中的使用完全一致。
const arr1: string[] = []; const arr2: Array<string> = [];
-
-
Function:方法类型
-
方法类型的标注,这种方式标注的函数类型只适用于变量声明时的类型检查,而不会影响运行时的行为。如果需要在运行时检查函数的类型,可以使用 TypeScript 的函数重载机制。
const myFunction: (arg1: ArgType1, arg2: ArgType2) => ReturnType = (arg1, arg2) => { // function body }
-
🤗二.对象数据类型
-
注意object,Object,{}三者的区别和联系
-
Object是object的包装类,包装类就是使用了面向对象将普通类型包装成了一个类,在类里面添加了一些方法增加它的功能,当使用普通类型调用方法时候会自定包装成对应的包装类。
-
{}和new Object()基本一样区别在于{}是JS内置的没有原型链和继承。
-
基本要杜绝使用Object和{},因为不能精确的对类型做限制,举个简单的例子,你想把狗子放笼子,结果你爸妈仅仅把狗子放到了家里,那它岂不是会把家拆了。
const tmp1: Object = undefined; const tmp2: Object = null; const tmp3: Object = void 0; const tmp4: Object = 'hahhah'; const tmp5: Object = 599; const tmp6: Object = { name: 'hahahah' }; const tmp7: Object = () => {}; const tmp8: Object = [];
-
👻三.特殊类型void
-
void在JS中会返回一个undefined
<a href="javascript:void(0)">清除缓存</a>
-
在TS中void表示方法中没有返回值。
function App():void{ console.log("qqqqq"); }
🦢三.基本类型总结
-
在基本类型的学习中,我们主要学到了从JS过渡到TS的基本类型,但是其实TS是一个类型系统比较复杂的语言,后面随着不断的学习,相信我们会不断深入和理解类型编程。
原文链接:https://juejin.cn/post/7221934775842193467 作者:举个栗子儿