zoukankan      html  css  js  c++  java
  • TypeScript 命名空间

    demo.ts
    class Header {
      constructor() {
        const elem = document.createElement('div');
        elem.innerText = 'This is Header';
        document.body.appendChild(elem);
      }
    }
    
    class Content {
      constructor() {
        const elem = document.createElement('div');
        elem.innerText = 'This is Content';
        document.body.appendChild(elem);
      }
    }
    
    class Footer {
      constructor() {
        const elem = document.createElement('div');
        elem.innerText = 'This is Footer';
        document.body.appendChild(elem);
      }
    }
    
    class Page{
      constructor() {
        new Header();
        new Content();
        new Footer();
      }
    }

    这些代码编译完是这样的

    demo.js
    "use strict";
    var Header = /** @class */ (function () {
      function Header() {
        var elem = document.createElement('div');
        elem.innerText = 'This is Header';
        document.body.appendChild(elem);
      }
      return Header;
    }());
    var Content = /** @class */ (function () {
      function Content() {
        var elem = document.createElement('div');
        elem.innerText = 'This is Content';
        document.body.appendChild(elem);
      }
      return Content;
    }());
    var Footer = /** @class */ (function () {
      function Footer() {
        var elem = document.createElement('div');
        elem.innerText = 'This is Footer';
        document.body.appendChild(elem);
      }
      return Footer;
    }());
    var Page = /** @class */ (function () {
      function Page() {
        new Header();
        new Content();
        new Footer();
      }
      return Page;
    }());
    这些类都变成了一个全局变量,过多的全局变量是不可维护的。这个时候要运用模块化的思想,将这些 class 都包在一个 命名空间里面
    namespace Home{
      class Header {
        constructor() {
          const elem = document.createElement('div');
          elem.innerText = 'This is Header';
          document.body.appendChild(elem);
        }
      }
    
      class Content {
        constructor() {
          const elem = document.createElement('div');
          elem.innerText = 'This is Content';
          document.body.appendChild(elem);
        }
      }
    
      class Footer {
        constructor() {
          const elem = document.createElement('div');
          elem.innerText = 'This is Footer';
          document.body.appendChild(elem);
        }
      }
    
      export class Page{
        constructor() {
          new Header();
          new Content();
          new Footer();
        }
      }
    }
    <script>
      new Home.Page();
    </script>
  • 相关阅读:
    mysql数据库
    Mysql之sql语句操作
    mysql修改root密码的多种方法
    kvm虚拟化
    清华AIOps算法:KPI聚类
    有点扯的预测方法
    内网安全运营的逻辑体系架构
    SpringBoot定时消费Kafka消息
    kafka的consumer消费能力很低的情况下的处理方案
    Kafka_Kafka 消费者 偏移量 与 积压 查询脚本 kafka-consumer-groups.sh
  • 原文地址:https://www.cnblogs.com/wzndkj/p/13171310.html
Copyright © 2011-2022 走看看