在 TypeScript 中,基本数据类型与 JavaScript 基本相同,包括 number
、string
、boolean
、null
、undefined
、symbol
和 bigint
。同时,TypeScript 还引入了一些额外的类型特性来提供更强大的类型检查能力。
1. 基本数据类型:
-
number: 表示数字类型,可以包括整数和浮点数。
let age: number = 25; let pi: number = 3.14;
-
string: 表示字符串类型。
let nickname: string = "John"; let message: string = `Hello, ${name}!`;
-
boolean: 表示布尔类型,只能是
true
或false
。let isStudent: boolean = true;
-
null 和 undefined: 表示空值或未定义的值。
let data: null = null; let nowStatus: undefined = undefined;
-
symbol: 表示唯一且不可变的值,常用于对象属性的键。
const key1: symbol = Symbol("key1"); const key2: symbol = Symbol("key2");
-
bigint: 表示大整数类型,可以表示任意大的整数,以
n
结尾。const bigNumber: bigint = 100n;
2. 变量声明和变量修饰符:
在 TypeScript 中,声明变量时可以使用 let
、const
和 var
关键字。
-
let: 用于声明可变的变量,可以随时修改其值。
let count: number = 0; count = 1; // 可以修改
-
const: 用于声明不可变的常量,一旦赋值后不能再修改。
const PI: number = 3.14; // PI = 3.14159; // 不能修改,会报错
-
var(不推荐使用): 在旧版的 JavaScript 中,
var
是声明变量的关键字。在 TypeScript 中,它与let
类似,但有一些作用域上的差异。
除了上述的变量修饰符,TypeScript 还允许在变量声明时不指定其类型,通过类型推断的方式自动推断变量的类型。
let x = 10; // TypeScript 自动推断 x 的类型为 number
let message = "Hello"; // TypeScript 自动推断 message 的类型为 string
尽可能使用 const
和 let
来声明变量,避免使用 var
,因为 var
存在一些作用域上的问题,可能会引起意外的错误。
通过深入学习和练习基本类型和变量声明,你将更好地理解 TypeScript 中的类型系统,并能更准确地编写类型安全的代码。继续往下学习,你会学到更多有关 TypeScript 的重要特性和概念。
常见问题:
error TS2585: ‘Symbol’ only refers to a type, but is being used as a value here. Do you need to change your target library? Try changing the ‘lib’ compiler option to es2015 or later
解决方案:
- 终端运行
tsc --init
- 检查 tsconfig.json:
"compilerOptions": {
"target": "es2016",
"lib": ["es6","dom"],
// 其他选项...
}