目录
1.1TypeScript简介
- TypeScript是由微软开发的开源编程语言
- 它是JavaScript的超集
- 通过添加静态类型检查和其他功能来增强JavaScript的功能
1.2配置TypeScript运行环境
- 安装nodejs
- 在Windows PowerShell 里面输入
> npm install -g typescript
- 安装好运行环境
- 测试安装是否成功
以管理员身份运行PowerShell
>set-ExecutionPolicy RemoteSigned //选择Y
- 在Windows PowerShell里面输入
- >tsc --version
1.3 TypeScript--基本类型
string类型
数组类型
元组类型
let employee : [ string , number , boolean ] = [ 'John Doe' , 30 , true ];
any类型
null类型
undefined类型
1.4TypeScript表达式
变量的命名规则
TypeScript变量的命名规则遵循以下规则:
1. 变量名必须以字母、下划线(_)或者美元符号($)开头。不能以数字开头。
2. 变量名可以包含字母、数字、下划线(_)或者美元符号($)。
3. 变量名是区分大小写的,例如myVariable和myvariable是不同的变量名。
4. 变量名应该尽量使用驼峰命名法,即首字母小写,后续单词首字母大写,例如myVariableName。
5. 尽量避免使用保留字或者关键字作为变量名,例如var、let、if等。
6. 建议给变量名赋予有意义的名称,以便于他人理解代码的含义。
变量声明
在TypeScript中,变量的声明可以使用三种关键字:var,let和const。
var关键字声明的变量是函数作用域或全局作用域的变量,使用var关键字声明变量的语法格式为:
var 变量名[:类型] [=初始值];
使用let关键字声明变量的语法格式为:
let变量名[:类型] [=初始值];
使用const语法格式:
const 常量名[:类型] = 初始值;
(在使用const声明常量的同时一定要进行初始化,否则会报错)
-声明变量的类型,但没有初始值,变量值会设置为 undefined。
-声明变量并设置初始值,但不设置类型,该变量会根据值的类型进行推 断。
-声明变量没有设置类型和初始值,类型可以是任意类型,默认初始值为 undefined。
-变量声明语法格式还可以省略类型部分,因为TypeScript具有类型推断功能,可以根据初始值的类型自动推断变量的类型。
1.5运算符
三元运算符
在TypeScript中,有一个三元运算符(也称为条件运算符)可以用于根 据条件选择不同的值。
三元运算符的语法是:
condition ? value1 : value2
如果条件(condition)为真,则返回value1;否则返回value2。
三元/条件运算符只能用于返回一个值,不能用于控制流程或执行其他操作。
例:let variable = age >= 18 ? "成年人" : "未成年人"
1.6控制结构
分支结构:if-else, switch-case
循环结构:for, while, do-while, for.......of
例:const arr = [1, 2, 3];
for (let num of arr) {
console.log(num);
}
1.7TypeScript模块化程序设计
TypeScript函数
函数声明
函数声明使用关键字function后面跟上函数名、参数列表和返回值类型。
函数调用的时候,我们直接输入参数
function add(x: number, y: number): number {
return x + y;
}
console.log(add(1, 2)); // 输出: 3
函数表达式
函数表达式可以将函数赋值给变量,可以使用箭头函数(Arrow Function)或普通函数来定义。
const add = function(x: number, y: number): number
{
return x + y;
}
箭头函数
箭头函数是一种更简洁的函数表达式写法,使用箭头=>来定义函数。
const add = (x: number, y: number): number => {
x + y;
}
函数参数特性
function greet(name?: string)-在函数调用的地方,我们可以选择不传入参数或者传入一个字符串。
function multiply(a: number, b: number = 1) -multiply函数接受两个参数a和b,其中b的默认值为1在函数调用的地方,我们可以只传入一个参数,这样b将使用默认值1进 行计算,或者传入两个参数进行乘法操作。
变量的作用域
在TypeScript中,变量的作用域决定了变量在何处可见和可访问。根据定义的位置以及是否使用关键字来声明变量的方式,TypeScript有以下几种类型的作用域:
-全局作用域
-函数作用域
-块级作用域
-模块作用域
TypeScript模块
在TypeScript中,模块是用来组织和管理代码的一种机制。
-模块可以包含变量、函数、类和接口,并且可以通过导出和导入来共享和使用这些模块中的成员。
模块作用域
在TypeScript中,每个文件都被视为一个模块。
文件内声明的变量默认具有模块作用域,只在该模块内可见。这种变量可以被其他模块引入后访问。
1.8TypeScript面向对象
TypeScript类定义
--TypeScript中,类定义开始于class关键字,后面跟着类名。
--类中可以定义属性、构造函数和方法。
--属性定义由属性名和类型组成。属性可以在类的构造函数中初始化。
--构造函数指定在创建类的实例时要执行的代码,用于初始化类的属性。
--方法定义由方法名、参数列表、返回类型和方法体组成。方法体是方法的具体实现。
--在类的方法中可以使用this关键字来引用类的属性。
--TypeScript还支持访问修饰符(如public、private和protected),可以用于限制对类的属性和方法的访问。
TypeScript类的实例化
class MyClass {
constructor(public name: string) {}
printName() {
console.log(this.name);
}
}
// 实例化 MyClass 对象
const myObj = new MyClass("John");
myObj.printName(); // 打印 "John"