Menu
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

TypeScript 简单类型


TypeScript 支持一些你可能知道的简单类型(基本类型)。

JavaScript 和 TypeScript 中有三种主要的原始类型。

  • boolean - true 或 false 值
  • number - 整数和浮点数
  • string - 文本值,例如 "TypeScript Rocks"

在 JavaScript 和 TypeScript 的后期版本中,还有 2 种不太常用的原始类型。

  • bigint - 整数和浮点数,但允许比 number 类型更大的负数和正数。
  • symbol 用于创建全局唯一的标识符。

类型赋值

在创建变量时,TypeScript 主要有两种方式分配类型

  • 显式
  • 隐式

在下面的两个示例中,firstName 的类型都是 string


显式类型

显式 - 写出类型

let firstName: string = "Dylan";
自己试试 »

显式 类型赋值更易于阅读,并且更具目的性。


隐式类型

隐式 - TypeScript 会根据分配的值“猜测”类型

let firstName = "Dylan";
自己试试 »

注意:让 TypeScript “猜测”值的类型称为 推断

隐式赋值强制 TypeScript 推断值。

隐式 类型赋值更简洁,输入速度更快,并且在开发和测试时经常使用。


w3schools CERTIFIED . 2022

获取认证!

完成 TypeScript 模块,完成练习,参加考试并获得 w3schools 认证!!

$45 报名

类型赋值错误

如果数据类型不匹配,TypeScript 将抛出错误。

示例

let firstName: string = "Dylan"; // string 类型
firstName = 33; // 尝试将值重新分配给不同的类型
自己试试 »

隐式 类型赋值会使 firstName 作为 string 变得不那么明显,但两者都会抛出错误

示例

let firstName = "Dylan"; // 推断为 string 类型
firstName = 33; // 尝试将值重新分配给不同的类型
自己试试 »

JavaScript 不会因类型不匹配而抛出错误。


无法推断

TypeScript 并不总是能够正确地推断变量的类型。在这种情况下,它会将类型设置为 any,这将禁用类型检查。

示例

// 由于 JSON.parse 不知道它返回什么类型的数据,所以它可以是“任何”东西...
const json = JSON.parse("55");
// 大多数情况下,预计 json 为对象,但它可以像此示例一样为字符串或数字
console.log(typeof json);
自己试试 »

可以通过在 TypeScript 项目的 tsconfig.json 中启用 noImplicitAny 选项来禁用此行为。这是一个 JSON 配置文件,用于自定义 TypeScript 的某些行为。

注意:你可能会看到基本类型大写,例如 Boolean

boolean !== Boolean
在本教程中,只需了解使用小写值即可,大写值仅用于非常特定的情况。


TypeScript 练习

通过练习测试自己

练习

TypeScript 主要有两种方式分配类型



        

开始练习


×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.