xgqfrms™, xgqfrms® : xgqfrms's offical website of cnblogs! xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!

TypeScript namespace & export All In One

TypeScript namespace & export All In One

TypeScript 命名空间

namespace SomeNameSpaceName { 
   export interface ISomeInterfaceName {      }  
   export class SomeClassName {      }  
}
// 如果一个命名空间在一个单独的 TypeScript 文件中,则应使用三斜杠 /// 引用它,语法格式如下:

/// <reference path = "SomeNameSpaceFileName.ts" />


// SomeNameSpaceName.SomeClassName;
/// <reference path = "IShape.ts" />   
/// <reference path = "Circle.ts" /> 
/// <reference path = "Triangle.ts" />  
function drawAllShapes(shape:Drawing.IShape) { 
    shape.draw(); 
} 
drawAllShapes(new Drawing.Circle());
drawAllShapes(new Drawing.Triangle());

嵌套命名空间

namespace NS { 
   export namespace invoiceApp { 
      export class Invoice { 
         public calculateDiscount(price: number) { 
            return price * .40; 
         } 
      } 
   } 
}

/// <reference path = "Invoice.ts" />
var invoice = new NS.invoiceApp.Invoice(); 
console.log(invoice.calculateDiscount(500));

export


// 使用 export TypeScript 才会有智能提示 ✅
export namespace ShapesTest {
  export namespace Polygons {
    export class Triangle {
      constructor() {
        console.log('triangle');
      }
    }
    export class Square {
      constructor() {
        console.log('square');
      }}
  }
}
// ShapesTest.Polygons.Triangle;

//  使用 export TypeScript 才会有智能提示 ✅, 最外层 namespace export 可以省略 ✅
namespace Shapes {
  export namespace Polygons {
    export class Triangle {
      constructor() {
        console.log('triangle');
      }
    }
    export class Square {
      constructor() {
        console.log('square');
      }}
  }
}

// Shapes.Polygons.Triangle;

// namespace alias
import polygons = Shapes.Polygons;
let sq = new polygons.Square();

// namespace 
const tr = new Shapes.Polygons.Triangle();





refs



©xgqfrms 2012-2020

www.cnblogs.com/xgqfrms 发布文章使用:只允许注册用户才可以访问!

原创文章,版权所有©️xgqfrms, 禁止转载 🈲️,侵权必究⚠️!


posted @ 2022-02-07 22:43  xgqfrms  阅读(104)  评论(1编辑  收藏  举报