最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

TypeScript 變量命名規(guī)則的實(shí)踐

 更新時間:2026年01月22日 08:54:15   作者:Wiktok  
TypeScript變量命名規(guī)則分為語法強(qiáng)制規(guī)則和風(fēng)格推薦規(guī)范,本文就來詳細(xì)的介紹一下TypeScript 變量命名規(guī)則的實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

你想了解 TypeScript 的變量命名規(guī)則,首先需要明確:TypeScript 完全繼承了 JavaScript 的變量命名規(guī)則(語法層面一致),同時有一套行業(yè)通用的最佳實(shí)踐(風(fēng)格層面),具體分為核心規(guī)則和推薦規(guī)范兩部分:

一、 語法層面:必須遵守的硬性規(guī)則(不可違反)

這些是 TypeScript 編譯器強(qiáng)制執(zhí)行的命名要求,違反會直接報(bào)錯:

  1. 首字符限制:變量名的第一個字符只能是「字母(a-z/A-Z)」、「下劃線(_)」或「美元符號($)」,不能以數(shù)字開頭(這是最常見的錯誤)。
    • 合法示例:name、_age、$price、UserInfo
    • 非法示例:123num(以數(shù)字開頭)、#gender(特殊符號不允許)
  2. 后續(xù)字符限制:從第二個字符開始,除了字母、下劃線、美元符號外,還可以包含數(shù)字(0-9),仍不允許使用其他特殊字符(如 @、#、& 等)。
    • 合法示例:user2025、_phone138、$orderNo001
    • 非法示例:user-name(包含連字符)、my&address(包含&符號)
  3. 大小寫敏感:TypeScript 對變量名的大小寫嚴(yán)格區(qū)分,不同大小寫視為兩個完全不同的變量。
    • 示例:let name = "張三"; let Name = "李四";(這是兩個獨(dú)立變量,不會沖突)
  4. 禁止使用關(guān)鍵字/保留字:不能使用 TypeScript/JavaScript 的內(nèi)置關(guān)鍵字(用于語法功能的單詞)和未來保留字作為變量名。
    • 關(guān)鍵字示例(禁止使用):let、const、var、if、else、function、class、interface、type 等
    • 保留字示例(禁止使用):await、enum、export、import、package 等

二、 風(fēng)格層面:行業(yè)通用最佳實(shí)踐(推薦遵守)

這些規(guī)則非語法強(qiáng)制要求,但能提升代碼可讀性、可維護(hù)性,是團(tuán)隊(duì)協(xié)作和開源項(xiàng)目的通用規(guī)范:

1. 普通變量/函數(shù)/對象屬性:小駝峰命名法(camelCase)

這是最基礎(chǔ)的命名風(fēng)格,規(guī)則是「首字母小寫,后續(xù)每個單詞的首字母大寫」。

  • 示例:
    // 普通變量
    let userName: string = "張三";
    let userAge: number = 25;
    let isStudent: boolean = true;
    let userAddressList: string[] = ["北京", "上海", "廣州"];
    
    // 函數(shù)
    function getUserInfo(id: number): object {
      return { id, userName: "張三", age: 25 };
    }
    
    // 對象屬性
    const user = {
      userPhone: "13800138000",
      userEmail: "zhangsan@example.com"
    };
    

2. 類/接口/類型別名:大駝峰命名法(PascalCase)

規(guī)則是「每個單詞的首字母都大寫」,用于區(qū)分自定義構(gòu)造類型和普通變量。

  • 示例:
    // 類
    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 聲明,或枚舉常量),用于強(qiáng)調(diào)其不可變性。

  • 示例:
    // 普通常量
    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. 特殊命名規(guī)范(場景化)

  • 私有成員(類內(nèi)部使用):通常以「下劃線開頭」(如 _privateData),TypeScript 也支持用 private 關(guān)鍵字修飾,下劃線是輔助標(biāo)識。
    class Person {
      public name: string;
      private _idCard: string; // 私有成員,下劃線標(biāo)識
    
      constructor(name: string, idCard: string) {
        this.name = name;
        this._idCard = idCard;
      }
    
      public getIdCard(): string {
        return this._idCard; // 內(nèi)部可訪問
      }
    }
    
  • 全局變量/環(huán)境變量:通常遵循全大寫下劃線風(fēng)格(如 process.env.NODE_ENV)。
  • 避免單字符命名(除了通用場景:i 用于循環(huán)索引、x/y 用于坐標(biāo)等),盡量使用語義化命名(如 userName 優(yōu)于 n)。

總結(jié)

  1. 語法硬性規(guī)則:首字符只能是 字母/_/$、不可數(shù)字開頭;后續(xù)可加數(shù)字;大小寫敏感;禁用關(guān)鍵字。
  2. 風(fēng)格推薦規(guī)則:普通變量/函數(shù)用小駝峰;類/接口用大駝峰;常量用全大寫+下劃線;私有成員用下劃線開頭。
  3. 核心原則:命名語義化(見名知意),保持團(tuán)隊(duì)風(fēng)格統(tǒng)一,提升代碼可維護(hù)性。

到此這篇關(guān)于TypeScript 變量命名規(guī)則的實(shí)踐的文章就介紹到這了,更多相關(guān)TypeScript 變量命名規(guī)則內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • js判斷設(shè)備是否為PC并調(diào)整圖片大小

    js判斷設(shè)備是否為PC并調(diào)整圖片大小

    這篇文章主要介紹了js判斷設(shè)備是否為PC并調(diào)整圖片大小,需要的朋友可以參考下
    2014-02-02
  • 利用js定義一個導(dǎo)航條菜單

    利用js定義一個導(dǎo)航條菜單

    本文主要介紹了利用js定義一個導(dǎo)航條菜單的方法。具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03
  • JavaScript算法學(xué)習(xí)之冒泡排序和選擇排序

    JavaScript算法學(xué)習(xí)之冒泡排序和選擇排序

    這篇文章主要給大家介紹了關(guān)于JavaScript算法學(xué)習(xí)之冒泡排序和選擇排序的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者使用JavaScript具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • js有趣的非空判斷函數(shù) + ?? 實(shí)現(xiàn)

    js有趣的非空判斷函數(shù) + ?? 實(shí)現(xiàn)

    本文介紹了JS中空值合并操作符??的用法,包括如何使用它來判斷數(shù)據(jù)是否為“合法數(shù)據(jù)”,即非空字符串、非undefined和非null,下面就一起來了解一下,感興趣的可以了解一下
    2024-09-09
  • JS實(shí)現(xiàn)的簡單表單驗(yàn)證功能示例

    JS實(shí)現(xiàn)的簡單表單驗(yàn)證功能示例

    這篇文章主要介紹了JS實(shí)現(xiàn)的簡單表單驗(yàn)證功能,涉及javascript針對表單提交內(nèi)容的獲取、判斷、焦點(diǎn)設(shè)置等相關(guān)操作技巧,需要的朋友可以參考下
    2017-10-10
  • 微信小程序人臉識別功能代碼實(shí)例

    微信小程序人臉識別功能代碼實(shí)例

    這篇文章主要介紹了微信小程序人臉識別功能,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • uniapp如何使用 web-view 與網(wǎng)頁互相通信

    uniapp如何使用 web-view 與網(wǎng)頁互相通信

    這篇文章主要介紹了uniapp如何使用 web-view 與網(wǎng)頁互相通信,在APP中使用 this.$scope.$getAppWebview() 獲取webview對象實(shí)例,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-07-07
  • JS處理一些簡單計(jì)算題

    JS處理一些簡單計(jì)算題

    本篇文章通過JS來實(shí)現(xiàn)以下日常用經(jīng)常用到的計(jì)算以及換算等小工具,有興趣的朋友可以學(xué)習(xí)下。
    2018-02-02
  • JS Typeof 運(yùn)算符及最佳實(shí)踐建議

    JS Typeof 運(yùn)算符及最佳實(shí)踐建議

    typeof 是 JavaScript 中用于檢測變量或表達(dá)式數(shù)據(jù)類型的一元運(yùn)算符,返回小寫字符串形式的類型標(biāo)識,這篇文章主要介紹了JS Typeof 運(yùn)算符及最佳實(shí)踐建議,需要的朋友可以參考下
    2025-05-05
  • 圖片懶加載imgLazyLoading.js使用詳解

    圖片懶加載imgLazyLoading.js使用詳解

    這篇文章主要為大家詳細(xì)介紹了圖片懶加載imgLazyLoading.js的使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01

最新評論

宜兰市| 克什克腾旗| 马龙县| 临潭县| 铜山县| 思南县| 北宁市| 香河县| 陇南市| 抚宁县| 海城市| 墨江| 图片| 刚察县| 高青县| 夹江县| 大姚县| 三门峡市| 六盘水市| 张家港市| 文安县| 庄河市| 延安市| 射阳县| 宝应县| 临海市| 民和| 镇赉县| 易门县| 绵阳市| 长汀县| 宁安市| 盐池县| 同江市| 班戈县| 云浮市| 临西县| 东港市| 蕉岭县| 张家口市| 清流县|