typescript基本语法
TypeScript是JavaScript的一个超集,为JavaScript添加了类型、接口、泛型、类、模块等新的特性。以下是TypeScript一些基本语法:
变量声明
在TypeScript中使用let、const、var关键字来声明变量,使用冒号+类型来指定变量的类型,例如:
let count: number = 10;
const name: string = 'Tom';
var age: number = 18;
函数声明
使用函数名加上参数列表来声明函数,使用冒号+类型来指定参数类型和函数返回值类型,例如:
function sum(a: number, b: number): number {
return a + b;
}
const greet = (name: string): void => {
console.log(`Hello, ${name}!`);
}
类声明
使用class关键字加上类名来声明类,使用constructor方法来初始化对象,使用方法名+参数列表来声明类的方法,例如:
class Person {
constructor(public name: string, public age: number) {}
sayHello(): void {
console.log(`Hello, my name is ${this.name}, and I am ${this.age} years old.`);
}
}
const p = new Person('Tom', 18);
p.sayHello();
接口声明
使用interface关键字加上接口名来声明接口,使用花括号中定义接口的属性、方法、参数等,例如:
interface Point {
x: number;
y: number;
}
function printPoint(p: Point): void {
console.log(`(${p.x}, ${p.y})`);
}
const pt: Point = { x: 10, y: 20 };
printPoint(pt);
泛型
使用来定义泛型本身及其类型变量,使用泛型可以实现类型的动态灵活,例如:
function identity<T>(arg: T): T {
return arg;
}
const result: string = identity<string>('Hello, TypeScript!');
console.log(result);
类型推断
TypeScript的类型推断让我们能在一定程度上省略一些类型声明,编译器可以根据上下文推断变量、函数的类型,例如:
const count = 10; // 编译器会推断count的类型为number
const names = ['Tom', 'Jerry']; // 编译器会推断names的类型为string[]
类型别名
使用type关键字定义类型别名,方便复杂类型的多次使用,例如:
type People = {
name: string;
age: number;
}
const p: People = { name: 'Tom', age: 18 };
console.log(p.name, p.age);
以上是TypeScript一些基本语法,这些语法让我们能够更好地掌握类型、接口、类、泛型等关键特性,从而提高代码的可读性和可维护性。