当前位置: 首页 > article >正文

三、零基础学习TypeScript——JavaScript和TypeScript数据类型区别

       今天,我们来学习 JavaScript和TypeScript数据类型区别


一、TypeScript的数据类型与分类

       

        我们前面讲到TypeScript是JavaScript的“超集”,说白了JavaScript的数据类型包含于TypeScript的数据类型。


二、JavaScript的数据类型

那么JavaScript有哪些数据类型呢?有StringNumberBooleanUndefindNullSymbol、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”,方便你在代码里快速喊出它们。

 

第三个是字面量类型,它给变量划了个小圈圈,规定变量只能在圈里选值。比如说一个变量只能是 “开” 或者 “关” 这俩值。


http://www.kler.cn/a/577039.html

相关文章:

  • [Lc6_模拟] 替换所有的问号 | 提莫攻击 | Z 字形变换 | 外观数列
  • Django在处理模型录入时间差8小时的问题
  • Python3 爬虫 爬虫中间件
  • 数据结构链式表
  • CEF在MFC上的示例工程
  • 国产编辑器EverEdit - 宏功能介绍
  • VPS加装前置代理全解析
  • Manus AI探索
  • 碰一碰发视频系统之写卡功能开发了,支持OEM
  • 《UE5_C++多人TPS完整教程》学习笔记35 ——《P36 武器类(Weapon Class)》
  • open-webui+deepseek api实现deepseek自由
  • 完整版已注册,永久授权!
  • 【基础io】
  • Java面向对象(详细解释)
  • Java网络编程初阶
  • 可变参数与递归
  • 简记_EMC概述
  • C#使用winform实现简单的梯形图指令编译和执行,带编译器和虚拟机代码
  • 性能测试和Jmeter
  • 使用 Prim 算法生成了最小生成树, 使用 Fleury 算法生成了欧拉回路,尝试找到了一个简单的哈密尔顿圈。