TypeScript 变量命名规则的实践

 更新时间:2026年01月22日 08:54:15   作者:Wiktok  
TypeScript变量命名规则分为语法强制规则和风格推荐规范,本文就来详细的介绍一下TypeScript 变量命名规则的实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

你想了解 TypeScript 的变量命名规则,首先需要明确:TypeScript 完全继承了 JavaScript 的变量命名规则(语法层面一致),同时有一套行业通用的最佳实践(风格层面),具体分为核心规则和推荐规范两部分:

一、 语法层面:必须遵守的硬性规则(不可违反)

这些是 TypeScript 编译器强制执行的命名要求,违反会直接报错:

  1. 首字符限制:变量名的第一个字符只能是「字母(a-z/A-Z)」、「下划线(_)」或「美元符号($)」,不能以数字开头(这是最常见的错误)。
    • 合法示例:name、_age、$price、UserInfo
    • 非法示例:123num(以数字开头)、#gender(特殊符号不允许)
  2. 后续字符限制:从第二个字符开始,除了字母、下划线、美元符号外,还可以包含数字(0-9),仍不允许使用其他特殊字符(如 @、#、& 等)。
    • 合法示例:user2025、_phone138、$orderNo001
    • 非法示例:user-name(包含连字符)、my&address(包含&符号)
  3. 大小写敏感:TypeScript 对变量名的大小写严格区分,不同大小写视为两个完全不同的变量。
    • 示例:let name = "张三"; let Name = "李四";(这是两个独立变量,不会冲突)
  4. 禁止使用关键字/保留字:不能使用 TypeScript/JavaScript 的内置关键字(用于语法功能的单词)和未来保留字作为变量名。
    • 关键字示例(禁止使用):let、const、var、if、else、function、class、interface、type 等
    • 保留字示例(禁止使用):await、enum、export、import、package 等

二、 风格层面:行业通用最佳实践(推荐遵守)

这些规则非语法强制要求,但能提升代码可读性、可维护性,是团队协作和开源项目的通用规范:

1. 普通变量/函数/对象属性:小驼峰命名法(camelCase)

这是最基础的命名风格,规则是「首字母小写,后续每个单词的首字母大写」。

  • 示例:
    // 普通变量
    let userName: string = "张三";
    let userAge: number = 25;
    let isStudent: boolean = true;
    let userAddressList: string[] = ["北京", "上海", "广州"];
    
    // 函数
    function getUserInfo(id: number): object {
      return { id, userName: "张三", age: 25 };
    }
    
    // 对象属性
    const user = {
      userPhone: "13800138000",
      userEmail: "zhangsan@example.com"
    };
    

2. 类/接口/类型别名:大驼峰命名法(PascalCase)

规则是「每个单词的首字母都大写」,用于区分自定义构造类型和普通变量。

  • 示例:
    // 类
    class User {
      name: string;
      age: number;
      constructor(name: string, age: number) {
        this.name = name;
        this.age = age;
      }
    }
    
    // 接口
    interface UserInfo {
      id: number;
      userName: string;
      address: string;
    }
    
    // 类型别名
    type OrderStatus = "pending" | "paid" | "shipped" | "completed";
    type NumberOrString = number | string;
    

3. 常量:全大写+下划线分隔(UPPER_SNAKE_CASE)

仅适用于「值不可修改的常量」(通常用 const 声明,或枚举常量),用于强调其不可变性。

  • 示例:
    // 普通常量
    const MAX_SIZE: number = 100;
    const API_BASE_URL: string = "https://api.example.com";
    const DEFAULT_USER_NAME: string = "guest";
    
    // 枚举常量
    enum HttpStatus {
      OK = 200,
      NOT_FOUND = 404,
      SERVER_ERROR = 500
    }
    

4. 特殊命名规范(场景化)

  • 私有成员(类内部使用):通常以「下划线开头」(如 _privateData),TypeScript 也支持用 private 关键字修饰,下划线是辅助标识。
    class Person {
      public name: string;
      private _idCard: string; // 私有成员,下划线标识
    
      constructor(name: string, idCard: string) {
        this.name = name;
        this._idCard = idCard;
      }
    
      public getIdCard(): string {
        return this._idCard; // 内部可访问
      }
    }
    
  • 全局变量/环境变量:通常遵循全大写下划线风格(如 process.env.NODE_ENV)。
  • 避免单字符命名(除了通用场景:i 用于循环索引、x/y 用于坐标等),尽量使用语义化命名(如 userName 优于 n)。

总结

  1. 语法硬性规则:首字符只能是 字母/_/$、不可数字开头;后续可加数字;大小写敏感;禁用关键字。
  2. 风格推荐规则:普通变量/函数用小驼峰;类/接口用大驼峰;常量用全大写+下划线;私有成员用下划线开头。
  3. 核心原则:命名语义化(见名知意),保持团队风格统一,提升代码可维护性。

到此这篇关于TypeScript 变量命名规则的实践的文章就介绍到这了,更多相关TypeScript 变量命名规则内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

最新评论