三、零基础学习TypeScript——JavaScript和TypeScript数据类型区别
今天,我们来学习 JavaScript和TypeScript数据类型区别
一、TypeScript的数据类型与分类
我们前面讲到TypeScript是JavaScript的“超集”,说白了JavaScript的数据类型包含于TypeScript的数据类型。
二、JavaScript的数据类型
那么JavaScript有哪些数据类型呢?有String、Number、Boolean、Undefind、Null、Symbol、BigInt
欸,问题就来了,TypeScript比JavaScript包含的应该更多的数据类型,聪明。
三、TypeScript比JavaScript多的几个特殊数据类型(常用的)
1.元组类型
就像一个固定格式的小盒子,每个位置有规定的类型。比如一个盒子里,第一个位置得是字符串,第二个位置得是数字。
let person: [string, number]; person = ['John', 30];
2.枚举类型(Enum)
是一组有名字的常量。就像给几个固定的东西都起了个专属名字,用的时候直接叫名字就行。
数字枚举:enum Direction { Up = 1, Down, Left, Right };
字符串枚举:enum Color { Red = 'RED', Green = 'GREEN', Blue = 'BLUE' };
3.字面量类型(Literal Types)
是规定变量只能是特定的几个值,像规定一个变量只能是 “左”“右”“中间” 这几个词。
4.任意类型(Tuple)
能代表任何类型,你不确定类型或者不想检查类型时就用它。
let value: any; value = 'hello'; value = 123;
5.未知类型(Unknown)
也能是任何类型,但用它的时候得先检查类型,比任意类型更安全。
let result: unknown; result = 'hello';
if (typeof result === 'string') {
console.log(result.toUpperCase());
}
6.空类型(Void)
一般用在函数没返回值的时候。
// 定义一个返回类型为 void 的函数
function printGreeting(): void {
console.log('Hello, TypeScript!');
}
// 调用函数
printGreeting();
7.空值类型(Null 和 Undefined)
就是 null 和 undefined,它们既是值也是类型。
let n: null = null;
let u: undefined = undefined;
TypeScript 里比 JavaScript 常用的类型就仨,你记好啦。
第一个是元组,它就像个有固定座位表的小火车,每个座位都规定了能坐啥 “类型” 的乘客,比如第一个座位坐字符串 “张三”,第二个座位坐数字 20。
第二个是枚举,这就像给一群小伙伴起了专属代号。比如 “周一”“周二” 这些天,你可以给它们起代号 “Mon”“Tue”,方便你在代码里快速喊出它们。
第三个是字面量类型,它给变量划了个小圈圈,规定变量只能在圈里选值。比如说一个变量只能是 “开” 或者 “关” 这俩值。