欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

TypeScript的export用法示例詳解

 更新時間:2025年07月21日 09:21:18   作者:無風(fēng)聽海  
TypeScript中export用于模塊化代碼,可導(dǎo)出變量、函數(shù)、類、類型等,支持命名導(dǎo)出、默認(rèn)導(dǎo)出(單個實(shí)體,可自定義名稱)、重命名導(dǎo)出及導(dǎo)出整個模塊,export=用于兼容CommonJS,提升代碼復(fù)用性和可維護(hù)性,本文給大家介紹TypeScript的export用法,感興趣的朋友一起看看吧

TypeScript 中,export 用于將模塊中的變量、函數(shù)、類、類型等暴露給外部使用。export 語法允許將模塊化的代碼分割并在其他文件中導(dǎo)入。

1. 命名導(dǎo)出(Named Export)

命名導(dǎo)出是 TypeScript 中最常見的一種導(dǎo)出方式,它允許你導(dǎo)出多個實(shí)體,導(dǎo)入時需要使用相同的名字。

語法

export { <entity1>, <entity2>, ... };

或者直接在聲明時進(jìn)行導(dǎo)出:

export <entity>;

示例

// math.ts
export const PI = 3.14159;
export function add(x: number, y: number): number {
    return x + y;
}
export class Calculator {
    static multiply(x: number, y: number): number {
        return x * y;
    }
}

然后在其他文件中導(dǎo)入:

// app.ts
import { PI, add, Calculator } from './math';
console.log(PI);  // 3.14159
console.log(add(2, 3));  // 5
console.log(Calculator.multiply(2, 3));  // 6

部分導(dǎo)入

你也可以選擇只導(dǎo)入你需要的部分:

// app.ts
import { add } from './math';
console.log(add(5, 3));  // 8

別名導(dǎo)入

你可以為導(dǎo)入的命名實(shí)體指定別名:

// app.ts
import { add as sum, Calculator as Calc } from './math';
console.log(sum(2, 3));  // 5
console.log(Calc.multiply(2, 3));  // 6

2. 默認(rèn)導(dǎo)出(Default Export)

默認(rèn)導(dǎo)出用于導(dǎo)出模塊中的單個實(shí)體,每個模塊只能有一個默認(rèn)導(dǎo)出。在導(dǎo)入時不需要使用花括號,可以自定義導(dǎo)入名稱。

語法

export default <entity>;

示例

// greet.ts
export default function greet(name: string): string {
    return `Hello, ${name}!`;
}

然后在其他文件中導(dǎo)入并使用:

// app.ts
import greet from './greet';
console.log(greet("Alice"));  // Hello, Alice!

3. 混合使用命名導(dǎo)出與默認(rèn)導(dǎo)出

你可以在一個模塊中同時使用命名導(dǎo)出和默認(rèn)導(dǎo)出:

// utils.ts
export function add(x: number, y: number): number {
    return x + y;
}
export function subtract(x: number, y: number): number {
    return x - y;
}
export default function multiply(x: number, y: number): number {
    return x * y;
}

然后可以這樣導(dǎo)入:

// app.ts
import multiply, { add, subtract } from './utils';
console.log(multiply(2, 3));  // 6
console.log(add(2, 3));       // 5
console.log(subtract(5, 3));  // 2

4. 重命名導(dǎo)出(Export Aliases)

你可以在導(dǎo)入時或?qū)С鰰r使用別名。

導(dǎo)出時重命名

// math.ts
const PI = 3.14159;
function add(x: number, y: number): number {
    return x + y;
}
// 使用 `as` 來重命名導(dǎo)出的符號
export { PI as PiValue, add as addNumbers };

導(dǎo)入時重命名

// app.ts
import { PiValue, addNumbers } from './math';
console.log(PiValue);       // 3.14159
console.log(addNumbers(5, 3));  // 8

5. 導(dǎo)出整個模塊(Re-export)

你可以將另一個模塊的所有內(nèi)容導(dǎo)出到當(dāng)前模塊中。這對于模塊的組合和封裝非常有用。

示例

// math.ts
export const PI = 3.14159;
export function add(x: number, y: number): number {
    return x + y;
}
// geometry.ts
export * from './math';  // 將math模塊的所有導(dǎo)出都重新導(dǎo)出
// app.ts
import { PI, add } from './geometry';
console.log(PI);  // 3.14159
console.log(add(2, 3));  // 5

6. 導(dǎo)出類型(Type Export)

除了導(dǎo)出變量、函數(shù)和類,TypeScript 還允許導(dǎo)出類型別名、接口等類型定義。

示例

// types.ts
export interface Person {
    name: string;
    age: number;
}
export type Point = { x: number; y: number };
// app.ts
import { Person, Point } from './types';
const john: Person = { name: "John", age: 30 };
const point: Point = { x: 10, y: 20 };

7. export = 和 import = require() 的用法

export =import = require() 語法主要用于與舊版 JavaScript 模塊(如 CommonJS)兼容。當(dāng)你希望以 CommonJS 風(fēng)格導(dǎo)出模塊時,可以使用 export =

示例

// logger.ts
class Logger {
    log(message: string) {
        console.log(message);
    }
}
export = Logger;
// app.ts
import Logger = require('./logger');
const logger = new Logger();
logger.log('Hello, World!');

這種用法較少見,因?yàn)榇蠖鄶?shù) TypeScript 代碼會使用 exportimport 語法。

總結(jié)

  • export 用于將模塊中的代碼暴露出去,可以導(dǎo)出函數(shù)、類、常量、類型等。
  • export default 用于導(dǎo)出模塊中的單個實(shí)體,導(dǎo)入時不需要花括號,并且可以自定義導(dǎo)入名稱。
  • 命名導(dǎo)出與默認(rèn)導(dǎo)出 可以結(jié)合使用,一個模塊可以有多個命名導(dǎo)出和一個默認(rèn)導(dǎo)出。
  • export = 用于與 CommonJS 等舊版模塊系統(tǒng)兼容。

exportimport 使得 TypeScript 支持模塊化,幫助你組織和分離代碼,提高代碼的可維護(hù)性和復(fù)用性。

到此這篇關(guān)于TypeScript的export用法的文章就介紹到這了,更多相關(guān)TypeScript export用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一文詳解fetch,ajax,axios的區(qū)別以及使用

    一文詳解fetch,ajax,axios的區(qū)別以及使用

    在現(xiàn)代Web開發(fā)中,數(shù)據(jù)交互是必不可少的環(huán)節(jié),這篇文章主要介紹了fetch,ajax,axios的區(qū)別以及使用的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-07-07
  • 基于JQuery模仿蘋果桌面的Dock效果(初級版)

    基于JQuery模仿蘋果桌面的Dock效果(初級版)

    新的一天新的開始,今天要分享的是用JQuery模仿蘋果操作系統(tǒng)桌面的Dock效果,之所以稱之為初級版,是因?yàn)槠渲羞€有一些bug,顯示效果并不穩(wěn)定
    2012-10-10
  • js獲取騰訊視頻ID的方法

    js獲取騰訊視頻ID的方法

    這篇文章主要介紹了js獲取騰訊視頻ID的方法,涉及JavaScript針對URL地址規(guī)則的分析與字符串的截取操作相關(guān)操作技巧,需要的朋友可以參考下
    2016-10-10
  • JavaScript+CSS控制打印格式示例介紹

    JavaScript+CSS控制打印格式示例介紹

    用media="print"的css來控制要打印的文件,media為print的樣式,表示打印時該樣式才起作用,下面為大家詳細(xì)介紹下,感興趣的朋友不要錯過
    2014-01-01
  • JavaScript 禁止用戶保存圖片的實(shí)現(xiàn)代碼

    JavaScript 禁止用戶保存圖片的實(shí)現(xiàn)代碼

    這篇文章主要介紹了JavaScript 禁止用戶保存圖片的實(shí)現(xiàn)代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • 深入淺析JavaScript系列(13):This? Yes,this!

    深入淺析JavaScript系列(13):This? Yes,this!

    在這篇文章里,我們將討論跟執(zhí)行上下文直接相關(guān)的更多細(xì)節(jié)。討論的主題就是this關(guān)鍵字。實(shí)踐證明,這個主題很難,在不同執(zhí)行上下文中this的確定經(jīng)常會發(fā)生問題
    2016-01-01
  • JS版微信6.0分享接口用法分析

    JS版微信6.0分享接口用法分析

    這篇文章主要介紹了JS版微信6.0分享接口用法,結(jié)合實(shí)例形式分析了JS版微信6.0分享功能原理、接口調(diào)用方法與相關(guān)使用注意事項(xiàng),需要的朋友可以參考下
    2016-10-10
  • js不能獲取隱藏的div的寬度只能先顯示后獲取

    js不能獲取隱藏的div的寬度只能先顯示后獲取

    js不能獲取隱藏div的的寬度,現(xiàn)在的辦法是先將其顯示出來,再獲取其寬度,計算位置,下面的示例,大家可以參考下
    2014-09-09
  • HTML頁面定時跳轉(zhuǎn)方法解析(2種任選)

    HTML頁面定時跳轉(zhuǎn)方法解析(2種任選)

    本文主要對HTML頁面定時跳轉(zhuǎn)進(jìn)行方法介紹:1、meta refresh 實(shí)現(xiàn)。2、JavaScript 實(shí)現(xiàn)。具有很好的參考價值,需要的朋友一起來看下吧
    2016-12-12
  • JS實(shí)現(xiàn)的鼠標(biāo)跟隨代碼(卡通手型點(diǎn)擊效果)

    JS實(shí)現(xiàn)的鼠標(biāo)跟隨代碼(卡通手型點(diǎn)擊效果)

    這篇文章主要介紹了JS實(shí)現(xiàn)的鼠標(biāo)跟隨代碼,帶有卡通手型點(diǎn)擊效果.涉及JavaScript鼠標(biāo)事件的響應(yīng)與頁面元素的動態(tài)調(diào)用技巧,需要的朋友可以參考下
    2015-10-10

最新評論