热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

TypeScript中模块上的getter/setter

如何解决《TypeScript中模块上的getter/setter》经验,为你挑选了2个好方法。

我在我的TypeScript项目中使用AMD模块(编译器标志"--module amd").虽然我可以在我的课程上轻松使用getter/setter,但我想在我的模块上做同样的事情

export get abc() : string {
    return "abc";
}

回报

错误TS1008:意外的令牌; '模块,类,接口,枚举,导入或声明'预期.

export function get abc() : string {
    return "abc";
}

回报

错误TS1005:'('预期.

我究竟做错了什么?



1> Fenton..:

您现在只能将getter和setter添加到类中.

TypeScript在getter和setter上使用的代码转换将属性添加到对象的原型中,这对于类而言比对模块更有意义.



2> Daniel Earwi..:

使用以下特殊export = ...语法可以实现:

class MyModule {
    get abc() {
        return "abc";
    }
}

var myModule = new MyModule();
export = myModule;

这使得该类的实例MyModule充当模块的API。您不必在类中放入任何数据-只需将函数移入类中,否则就可以保持不变。缺点是,如果函数a调用函数b,则必须说this.b()myModule.b()(后者更接近正常的模块导出)。

另外,您必须先声明一个命名变量。您不能只说:

export = new MyModule(); // This doesn't work


推荐阅读
  • 在现代Web开发中,HTML5 Canvas常用于图像处理和绘图任务。本文将详细介绍如何将Canvas中的图像导出并上传至服务器,适用于拼图、图片编辑等场景。 ... [详细]
  • RTThread线程间通信
    线程中通信在裸机编程中,经常会使用全局变量进行功能间的通信,如某些功能可能由于一些操作而改变全局变量的值,另一个功能对此全局变量进行读取& ... [详细]
  • 本文详细介绍了TypeScript中的各种数据类型,包括基本类型、数组、元组、枚举、any、void、never以及类型断言,并提供了示例代码及其编译结果。 ... [详细]
  • 本打算教一步步实现koa-router,因为要解释的太多了,所以先简化成mini版本,从实现部分功能到阅读源码,希望能让你好理解一些。希望你之前有读过koa源码,没有的话,给你链接 ... [详细]
  • PHP函数的工作原理与性能分析
    在编程语言中,函数是最基本的组成单元。本文将探讨PHP函数的特点、调用机制以及性能表现,并通过实际测试给出优化建议。 ... [详细]
  • 在项目需要国际化处理时,即支持多种语言切换的功能,通常有两种方案:单个包和多个包。本文将重点讨论单个包的实现方法。 ... [详细]
  • vue引入echarts地图的四种方式
    一、vue中引入echart1、安装echarts:npminstallecharts--save2、在main.js文件中引入echarts实例:  Vue.prototype.$echartsecharts3、在需要用到echart图形的vue文件中引入:   importechartsfrom"echarts";4、如果用到map(地图),还 ... [详细]
  • 开发笔记: URL参数处理与API请求示例
    本文记录了如何在开发过程中处理URL参数,并通过GET和POST方法发送API请求的具体步骤。 ... [详细]
  • 在Java开发中,保护代码安全是一个重要的课题。由于Java字节码容易被反编译,因此使用代码混淆工具如ProGuard变得尤为重要。本文将详细介绍如何使用ProGuard进行代码混淆,以及其基本原理和常见问题。 ... [详细]
  • 本文将详细介绍如何使用PHP获取文件夹的大小,包括子文件夹的大小,并提供实用的代码示例。 ... [详细]
  • 本文详细介绍了在单片机编程中常用的几个C库函数,包括printf、memset、memcpy、strcpy和atoi,并提供了具体的使用示例和注意事项。 ... [详细]
  • 本文介绍了如何在Linux系统中获取库源码,并在从源代码编译软件时收集所需的依赖项列表。 ... [详细]
  • 本文介绍了如何将Spring属性占位符与Jersey的@Path和@ApplicationPath注解结合使用,以便在资源路径中动态解析属性值。 ... [详细]
  • 阿里云 Aliplayer高级功能介绍(八):安全播放
    如何保障视频内容的安全,不被盗链、非法下载和传播,阿里云视频点播已经有一套完善的机 ... [详细]
  • 使用Tkinter构建51Ape无损音乐爬虫UI
    本文介绍了如何使用Python的内置模块Tkinter来构建一个简单的用户界面,用于爬取51Ape网站上的无损音乐百度云链接。虽然Tkinter入门相对简单,但在实际开发过程中由于文档不足可能会带来一些不便。 ... [详细]
author-avatar
手机用户2502857517_939
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有