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

``

相关推荐
燃先生._.3 小时前
Day-03 Vue(生命周期、生命周期钩子八个函数、工程化开发和脚手架、组件化开发、根组件、局部注册和全局注册的步骤)
前端·javascript·vue.js
高山我梦口香糖4 小时前
[react]searchParams转普通对象
开发语言·前端·javascript
White_Mountain4 小时前
在Ubuntu中配置mysql,并允许外部访问数据库
数据库·mysql·ubuntu
black^sugar5 小时前
纯前端实现更新检测
开发语言·前端·javascript
coder_pig6 小时前
📝小记:Ubuntu 部署 Jenkins 打包 Flutter APK
flutter·ubuntu·jenkins
2401_857600956 小时前
SSM 与 Vue 共筑电脑测评系统:精准洞察电脑世界
前端·javascript·vue.js
2401_857600956 小时前
数字时代的医疗挂号变革:SSM+Vue 系统设计与实现之道
前端·javascript·vue.js
GDAL6 小时前
vue入门教程:组件透传 Attributes
前端·javascript·vue.js
小白学大数据6 小时前
如何使用Selenium处理JavaScript动态加载的内容?
大数据·javascript·爬虫·selenium·测试工具