TypeScript 基础语法
TypeScript 基础语法
1. 基本类型
TypeScript 支持与 JavaScript 类似的基本类型,包括布尔型、数值型、字符串型、null 和 undefined。另外,TypeScript 还提供了枚举和任意类型。
- 布尔型
布尔型变量的值只能为 true 或 false。
let isDone: boolean = false;
- 数值型
数值型包括整型和浮点型,TypeScript 支持十进制、二进制和十六进制的数字字面量。
let decimal: number = 6; // 十进制
let hex: number = 0xf00d; // 十六进制
let binary: number = 0b1010; // 二进制
let octal: number = 0o744; // 八进制
- 字符串型
字符串型表示文本数据,可以使用单引号或双引号表示。
let name: string = "jack";
let age: string = '18';
- null 和 undefined
null 和 undefined 都表示无值,它们有各自的数据类型。在 TypeScript 中,可以使用任何类型的变量赋值为 null 或 undefined。
let u: undefined = undefined;
let n: null = null;
- 枚举
枚举类型用于表示一组具有相同类型的常量。TypeScript 提供了两种枚举类型:数字枚举和字符串枚举。
enum Color {
Red = 1,
Green,
Blue
}
let c: Color = Color.Green;
console.log(c); // 2
- 任意类型
任意类型(any)表示允许赋值为任意类型。
let obj: any = 123;
obj = 'hello, world';
2. 变量声明
变量声明使用 let 和 const 关键字。
- let
let 关键字声明的变量是块级作用域。在块级作用域中声明的变量只能在该块级作用域内部访问。
let x = 10;
if (true) {
let x = 20;
console.log(x); // 20
}
console.log(x); // 10
- const
const 关键字声明的变量也是块级作用域的,但是它的值不能被重新赋值。
const PI = 3.1415926;
PI = 4; // 报错
3. 函数
TypeScript 支持函数参数的类型和返回值的类型声明。
function add(x: number, y: number): number {
return x + y;
}
可以使用箭头表示法来定义函数
let myAdd = (x: number, y: number): number => {
return x + y;
};
4. 接口
接口是 TypeScript 中定义对象、函数、类等结构的方式。接口描述一个对象的类型,定义了对象的属性和方法及其对应的数据类型。
interface Person {
name: string;
age: number;
sayHello(): void;
}
5. 类
TypeScript 可以使用类来实现面向对象编程。类中可以定义属性、方法、构造函数等成员。
class Animal {
name: string;
constructor(name: string) {
this.name = name;
}
sayHello() {
console.log(`Hello, my name is ${this.name}`);
}
}
let dog = new Animal('wangwang');
dog.sayHello(); // Hello, my name is wangwang
6. 泛型
TypeScript 支持泛型,可以在定义函数、类和接口的时候使用。
function identity<T>(arg: T): T {
return arg;
}
let output = identity<string>("hello");
let output2 = identity<number>(123);
7. 类型断言
类型断言可以手动指定变量的类型,当 TypeScript 编译器不能判断具体类型时,可以使用类型断言来告诉编译器具体类型。
let strLength: number = (<string>someValue).length;
或者
let strLength2: number = (someValue as string).length;
总结
TypeScript 具有更强的类型约束和更完善的面向对象编程能力,同时也支持 JavaScript 的大部分语法。掌握 TypeScript 的基础语法,能够提高代码的可靠性和可维护性。