不遵守打字稿声明的类型

LppEdd

我是 Typescript 的新手,所以这可能是一个愚蠢的问题。
我有一个功能,例如:

interface MyType {
   myField: string
   myOtherField: string
}

const myFunction = (input: MyType) => { ... }

我注意到这个函数能够接收不是 的值MyType,例如我已经看到了诸如MyType[]或 之类的string

现在,这可能是因为 Typescript 只是输出 Javascript 代码,它根本不知道类型。

有没有办法强制类型检查并在Error发生这种不匹配时抛出异常?

编辑:以供将来参考,请参阅https://github.com/fabiandev/ts-runtime

芬顿

类型由 TypeScript 编译器检查并在编译期间被擦除。

当你在 TypeScript 中工作时,你会得到所有你期望的检查:

interface MyType {
   myField: string
   myOtherField: string
}

const myFunction = (input: MyType) => {
    return input.myField;
};

// OK
myFunction({ myField: '', myOtherField: '' });

// NOT OK
myFunction([{ myField: '', myOtherField: '' }]);

但是,如果您在运行时从另一个 JavaScript 文件调用转译后的 JavaScript,则不会进行类型检查。运行时的类型检查不是 TypeScript 的功能

TS* / 更安全的打字稿

有一个为 TypeScript创建运行时类型安全编译器的简短倡议,但它没有获得吸引力,并且自 2014 年以来一直没有更新。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

打字稿声明类类型

来自分类Dev

在打字稿函数中声明“ this”的类型?

来自分类Dev

在打字稿中声明对象类型

来自分类Dev

带方括号的打字稿类型声明

来自分类Dev

打字稿强类型键值对声明

来自分类Dev

打字稿1.4联合类型,假类型不匹配错误

来自分类Dev

在打字稿中声明“返回类型”的简写

来自分类Dev

打字稿:在对象声明中指定类型

来自分类Dev

如何在打字稿中声明地图类型?

来自分类Dev

打字稿不检查接口声明的函数参数类型

来自分类Dev

如何正确声明以下打字稿接口/类型?

来自分类Dev

通过打字稿声明全局类型是行不通的

来自分类Dev

使用打字稿获取字段类型而不创建实例

来自分类Dev

打字稿-混合类型

来自分类Dev

打字稿联合类型

来自分类Dev

打字稿合并类型

来自分类Dev

打字稿:onPress类型

来自分类Dev

打字稿超级类型

来自分类Dev

打字稿包装类型

来自分类Dev

打字稿类型断言

来自分类Dev

Promise 的打字稿类型

来自分类Dev

打字稿声明合并:覆盖?

来自分类Dev

打字稿-声明通用方法

来自分类Dev

打字稿类型 a 或类型 b

来自分类Dev

如何基于相同类型中提到的键在打字稿中声明类型?

来自分类Dev

打字稿:在声明“函数”类型的属性时指定函数返回类型

来自分类Dev

打字稿:声明与另一个类型相同的变量

来自分类Dev

如何在打字稿中声明带有部分特定键的“记录”类型?

来自分类Dev

如何在打字稿中展平泛型类型声明?