24 Star 88 Fork 34

wolfx/TypeScript-Documents-Chinese

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
typescript-2.6.md 1.63 KB
一键复制 编辑 原始数据 按行查看 历史
patrick.zhongsp 提交于 4年前 . refactor: structure

TypeScript 2.6

完整的破坏性改动列表请到这里查看:breaking change issues.

只写引用未使用

以下代码用于没有编译错误:

function f(n: number) {
    n = 0;
}

class C {
    private m: number;
    constructor() {
        this.m = 0;
    }
}

现在,当启用--noUnusedLocals--noUnusedParameters编译器选项时,nm都将被标记为未使用,因为它们的值永远不会被_读_ 。以前TypeScript只会检查它们的值是否被_引用_。

此外,仅在其自己的实体中调用的递归函数被视为未使用。

function f() {
    f(); // Error: 'f' is declared but its value is never read
}

环境上下文中的导出赋值中禁止使用任意表达式

以前,像这样的结构

declare module "foo" {
    export default "some" + "string";
}

在环境上下文中未被标记为错误。声明文件和环境模块中通常禁止使用表达式,因为typeof之类的意图不明确,因此这与我们在这些上下文中的其他地方处理可执行代码不一致。现在,任何不是标识符或限定名称的内容都会被标记为错误。为具有上述值形状的模块制作DTS的正确方法如下:

declare module "foo" {
    const _default: string;
    export default _default;
}

编译器已经生成了这样的定义,因此这只应该是手工编写的定义的问题。

Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
TypeScript
1
https://gitee.com/wolfx/TypeScript-Handbook-zh.git
git@gitee.com:wolfx/TypeScript-Handbook-zh.git
wolfx
TypeScript-Handbook-zh
TypeScript-Documents-Chinese
dev

搜索帮助