- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我有密码
let z;
z = 50;
z = 'z';
我的 tsconfig.json 是:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"sourceMap": false,
"noEmitOnError": true,
"strict": true,
"noImplicitAny": true
}
}
但是编译成js没有异常是什么鬼?
最好的问候,克罗瓦
最佳答案
因为 z
永远不会被输入为 any
。 z
的类型只是根据您分配给它的内容进行推断。
来自release notes :
With TypeScript 2.1, instead of just choosing any, TypeScript will infer types based on what you end up assigning later on.
Example:
let x;
// You can still assign anything you want to 'x'.
x = () => 42;
// After that last assignment, TypeScript 2.1 knows that 'x' has type '() => number'.
let y = x();
// Thanks to that, it will now tell you that you can't add a number to a function!
console.log(x + y);
// ~~~~~
// Error! Operator '+' cannot be applied to types '() => number' and 'number'.
// TypeScript still allows you to assign anything you want to 'x'.
x = "Hello world!";
// But now it also knows that 'x' is a 'string'!
x.toLowerCase();
所以在你的情况下:
let z;
z = 50;
let y = z * 10; // `z` is number here. No error
z = 'z';
z.replace("z", "")// `z` is string here. No error
关于javascript - TS 编译 - "noImplicitAny"不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45351563/
使用 typescript playground在打开 noImplicitAny 的情况下,我输入以下代码: async function a () { const b = JSON.p
在下面的代码片段中,尽管有一个隐式类型为 any 的参数,但 typescript 不会发出任何错误。 . declare function constrainedHOF any>(callback:
TypeScript 文档将 noImplicitAny 编译器标志记录为 Raise error on expressions and declarations with an implied an
即使我启用了 --noImplicitAny 标志,此代码也不会在 TypeScript playground 或 tsc 中向我显示任何错误。为什么不?如果我将 methodName 悬停在 pla
在我的根文件夹中,我有如下所示的 tsconfig.json 文件: { "compilerOptions": { /* Basic Options */ "target": "e
我有很多代码要移植到缺少类型的 Typescript。现在,我希望我的 IDE (WebStorm) 只突出显示需要输入的地方,我会慢慢修复它们。 如 tsconfig.json有一个 warning
我已将“noImplicitAny”和“noImplicitReturns”添加到我的 Typescript tsconfig.json 文件中: { "compilerOptions": {
我有密码 let z; z = 50; z = 'z'; 我的 tsconfig.json 是: { "compilerOptions": { "target": "es5", "
我想在编译器中启用 noImplicitAny 标志。我的问题是我使用 lodash/fp 并且到目前为止还没有打字。 因此编译器提示缺少 lodash/fp 的定义文件。 有没有办法只允许外部js文
我想在项目中使用带 noImplicitAny 和 strictNullChecks 的 typescript 声明一个带有错误优先回调的函数。 有没有一种方法可以声明一个interface 或typ
我通常设置我的 tsconfig.json 并将 strict 设置为 true。这意味着 noImplicitAny 也设置为 true。但是,当设置了 strict 时,typescript 似乎
简单的问题 - 每次我导入一个没有 .d.ts 文件的新 npm 库时,我都会创建一个 stub .d.ts 文件,其中包含很多这样的行,只是为了编译: function SomeFunctionIN
我正在使用 Typescript 2 和 Webpack 2 构建 Angular 2 应用程序。作为加载程序,我使用 awesome-typescript-loader。我在 tsconfig.js
Typescript 在 javascript es6 之上添加了许多功能,我对静态类型和private/public/protected 关键字很感兴趣。 到目前为止,Typescript 编译器施
我总是使用标志 --noImplicitAny 编译 TypeScript。这是有道理的,因为我希望我的类型检查尽可能严格。 我的问题是使用以下代码时出现错误: Index signature of
我总是使用标志 --noImplicitAny 编译 TypeScript。这是有道理的,因为我希望我的类型检查尽可能严格。 我的问题是使用以下代码时出现错误: Index signature of
我是一名优秀的程序员,十分优秀!