安装Typescript:
首先,你需要在你的计算机上安装Typescript编译器。你可以通过npm(Node.js的包管理器)来安装Typescript,命令是npm install -g typescript
一、 Typescript的基础语法:
- 变量声明:使用关键字
let或const声明变量。let用于声明可变的变量,const用于声明不可变的变量(常量)。 - 数据类型:Typescript引入了静态类型,可以为变量指定类型。例如,
let num: number = 10;声明了一个名为num的变量,类型为number。 - 基本数据类型:Typescript支持JavaScript的基本数据类型,如
number、string、boolean、null、undefined和symbol。还支持额外的数据类型,如any、void和never等。 - 数组:使用方括号
[]声明数组。例如,let numbers: number[] = [1, 2, 3];声明了一个名为numbers的数组,其中元素类型为number。 - 对象:使用花括号
{}声明对象。例如,let person: { name: string, age: number } = { name: 'Alice', age: 30 };声明了一个名为person的对象,其中包含name和age两个属性。 - 函数:使用关键字
function声明函数。可以为函数的参数和返回值指定类型。例如,function add(x: number, y: number): number { return x + y; }声明了一个名为add的函数,接受两个number类型的参数,并返回一个number类型的值。 - 类:使用关键字
class声明类。类可以有属性和方法。例如:
class Person {
name: string;
age: number;
constructor(name: string, age: number) {
this.name = name;
this.age = age;
}
sayHello() {
console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
}
}
let person = new Person('Alice', 30);
person.sayHello();
- 接口:使用关键字
interface声明接口。接口用于定义对象的结构。例如,
interface Person {
name: string;
age: number;
}
function sayHello(person: Person) {
console.log(`Hello, my name is ${person.name} and I am ${person.age} years old.`);
}
let person = { name: 'Alice', age: 30 };
sayHello(person);
二、编写一些简单的Typescript代码示例:
1. 声明变量和打印输出:
let message: string = 'Hello,TypeScript';
console.log(message);
2. 数字计算:
let num1: number = 10;
let num2: number = 7;
let sum: number = num1 + num2;
console.log('总和:',sum);
3. 字符串拼接:
let firstName: string = 'Hua';
let lastName: string = 'Li';
let fullName:string = firstName + '' + lastName;
console.log('名字:',fullName);
4. 条件语句循环:
let age: number = 26;
if (age >= 18) {
console.log('你是成年人。');
} else {
console.log('你是未成年。');
}
for (let i:number = 0; i < 5; i++){
console.log(i);
}
5. 函数:
function addNumbers(num1: number,num2: number):number {
return num1 + num2;
}
let result: number = addNumbers(5,2);
console.log('Reaule:',result);
三、编写一些常用的Typescript代码示例:
1. 迭代数组
let numbers: number[] = [1, 2, 3, 4, 5];
// for循环
for (let i = 0;i < numbers.length; i++) {
console.log(numbers[i]);
}
// for...of循环
for (let num of numbers) {
console.log(num);
}
// forEach方法
numbers.forEach(num => console.log(num));
2. 使用接口定义对象:
interface Person {
name: string;
age: number;
}
let person: Person = { name: 'Alice', age: 30 };
console.log(person.name, person.age);
3. 使用类和继承:
class Animal {
constructor(public name: string) {}
makeSound() {
console.log('Making sound...');
}
}
class Dog extends Animal {
constructor(name: string) {
super(name);
}
makeSound() {
console.log('Woof!');
}
}
let dog: Dog = new Dog('Buddy');
dog.makeSound();
4. 使用泛型编写可重用的代码:
function printArray<T>(array: T[]): void {
array.forEach(item => console.log(item));
}
let numbers: number[] = [1, 2, 3, 4, 5];
printArray(numbers);
let strings: string[] = ['Hello', 'World'];
printArray(strings);
5. 使用模块和导出:
在math.ts文件中:
export function add(a: number, b: number): number {
return a + b;
}
export function subtract(a: number, b: number): number {
return a - b;
}
在main.ts文件中:
import { add, subtract } from './math';
console.log(add(5, 3));
console.log(subtract(5, 3));