1. TypeScript基本语法

TypeScript 学习总结

TypeScript 是一种 JavaScript 的超集,增加了静态类型检查和编译时错误检测,从而提高了代码的可维护性和可靠性。以下是 TypeScript 的基础知识总结,包括语法、运算符、数据类型、变量声明和作用域。

markdown 复制代码
## 基本语法

TypeScript 的基本语法与 JavaScript 相似,但增加了一些重要的功能:

- **变量声明**:
  TypeScript 支持 `let`、`const` 和 `var` 声明变量。推荐使用 `let` 和 `const` 以确保更好的代码安全性。
  ```typescript
  let name: string = 'Alice';
  const age: number = 30;
  • 函数

    函数的参数和返回值可以指定类型,从而确保函数的调用与实现的一致性。

    typescript 复制代码
    function greet(person: string, age: number): string {
      return `Hello ${person}, you are ${age} years old.`;
    }
  • 接口

    使用接口(interface)来定义对象的形状,提供了结构化的代码组织方式。

    typescript 复制代码
    interface Person {
      name: string;
      age: number;
    }
    
    const person: Person = {
      name: 'Bob',
      age: 25
    };

运算符

TypeScript 中的运算符大多与 JavaScript 中的运算符相同:

  • 算术运算符

    typescript 复制代码
    let x: number = 10;
    let y: number = 5;
    console.log(x + y); // 输出 15
    console.log(x - y); // 输出 5
    console.log(x * y); // 输出 50
    console.log(x / y); // 输出 2
  • 比较运算符

    typescript 复制代码
    let a: number = 10;
    let b: number = 20;
    console.log(a === b); // 输出 false
    console.log(a !== b); // 输出 true
    console.log(a > b);  // 输出 false
  • 逻辑运算符

    typescript 复制代码
    let isTrue: boolean = true;
    let isFalse: boolean = false;
    console.log(isTrue && isFalse); // 输出 false
    console.log(isTrue || isFalse); // 输出 true
    console.log(!isTrue); // 输出 false
  • 赋值运算符

    typescript 复制代码
    let num: number = 10;
    num += 5; // 相当于 num = num + 5
    console.log(num); // 输出 15

基础数据类型

TypeScript 提供了几种基础数据类型:

  • number:双精度 64 位浮点值。

    typescript 复制代码
    let num: number = 42;
  • string:字符系列,可以使用单引号(')、双引号(")或反引号(`)定义。

    typescript 复制代码
    let str: string = "Hello, TypeScript!";
  • boolean :表示逻辑值:truefalse

    typescript 复制代码
    let isActive: boolean = true;
  • enum:枚举类型用于定义数值集合。

    typescript 复制代码
    enum Color {Red, Green, Blue};
    let c: Color = Color.Blue;
    console.log(c);    // 输出 2
  • void:用于标识方法返回值的类型,表示该方法没有返回值。

    typescript 复制代码
    function logMessage(message: string): void {
      console.log(message);
    }
  • 其他数据类型

    • nullundefined:表示无值或未定义。
    • any:可以是任意类型。
    • never:表示从不会出现的值,例如函数抛出异常或无限循环。

变量声明

TypeScript 支持多种变量声明方式:

  • 声明变量并指定类型

    typescript 复制代码
    let uname: string = "hello";
  • 声明变量但没有初始值

    typescript 复制代码
    let uname: string;
  • 声明变量并初始化值,但不指定类型

    typescript 复制代码
    let uname = "hello"; // 类型推断为 string
  • 声明变量没有设置类型和初始值

    typescript 复制代码
    let uname; // 类型为 any,默认初始值为 undefined

变量作用域

变量作用域指定了变量定义的位置,并决定了变量的可用性。TypeScript 中有以下几种作用域:

  • 全局作用域:定义在程序结构的外部,可以在任何位置使用。

    typescript 复制代码
    var global_num = 12; // 全局变量
  • 类作用域:类中的变量称为字段,可以通过类的对象访问,也可以是静态的,通过类名访问。

    typescript 复制代码
    class Numbers { 
      num_val = 13;      // 实例变量
      static sval = 10;  // 静态变量
      
      storeNum(): void { 
        var local_num = 14; // 局部变量
      } 
    } 
  • 局部作用域:在函数或代码块内部定义的变量,仅在该作用域内可用。

    typescript 复制代码
    function example() {
      var local_num = 20; // 局部变量
    }

代码运行地址

您可以在 TypeScript 在线运行界面 上测试以下代码:

typescript 复制代码
const hello: string = "Hello World!";
console.log(hello);

总结

通过 TypeScript 的静态类型检查、类型推断、接口、泛型等功能,我们能够编写更可靠、更易于维护的代码。理解和应用这些基础语法、运算符、数据类型和变量作用域,有助于提升代码质量和开发效率。

``

相关推荐
旭日猎鹰22 分钟前
Flutter踩坑记录(二)-- GestureDetector+Expanded点击无效果
前端·javascript·flutter
一条晒干的咸魚1 小时前
【Web前端】创建我的第一个 Web 表单
服务器·前端·javascript·json·对象·表单
花海少爷1 小时前
第十章 JavaScript的应用课后习题
开发语言·javascript·ecmascript
咖喱鱼蛋2 小时前
Ubuntu安装Electron环境
linux·ubuntu·electron
sinat_384241092 小时前
在有网络连接的机器上打包 electron 及其依赖项,在没有网络连接的机器上安装这些离线包
javascript·arcgis·electron
ac.char2 小时前
在 Ubuntu 系统上安装 npm 环境以及 nvm(Node Version Manager)
linux·ubuntu·npm
小牛itbull2 小时前
ReactPress vs VuePress vs WordPress
开发语言·javascript·reactpress
请叫我欧皇i2 小时前
html本地离线引入vant和vue2(详细步骤)
开发语言·前端·javascript
533_2 小时前
[vue] 深拷贝 lodash cloneDeep
前端·javascript·vue.js
GIS瞧葩菜2 小时前
局部修改3dtiles子模型的位置。
开发语言·javascript·ecmascript