我声明了一个该类型的变量,并初始化了所有属性 然后我稍后在一个init函数中为它们赋值实数 但我不喜欢在声明对象时为每个属性指定一组缺省空值,因为它们稍后将被设置为实值。我能告诉接口将我不提供的属性默认为null吗?什么会让我这么做: 而不会得到编译器错误。现在它告诉我 TS2322:类型“{}”不能分配给类型“ix”。类型“{}”中缺少属性“b”。
概述 在下面的代码中,我已经完全理解了。这就是为什么我们使用鸭式打字。 问题 当我将赋给字符串值时,为什么没有因为索引签名而出现错误? 请用你的答案简单解释一下。如果我的索引签名的概念还不清楚。
今天,我意识到让数组像字典一样运行更有意义,这样我就可以通过名称而不是数字索引访问特定元素。我希望能够执行而不是(即使我声明了一个将submitButton映射到请求的索引的枚举)。 这是可行的,但我现在允许一堆欺骗我的代码库,这是很糟糕的。我希望对象知道,只有类型的东西才能放入其中。 我可以用这些字段声明一个类,因为我希望它们的数量在将来可以动态添加,所以下面的操作是不可行的。
怎么办?
在TypeScript类中,可以为属性声明类型,例如:
以下是react router的一个示例,介绍如何为受保护的路由添加组件: https://reacttraining.com/react-router/web/example/auth-workflow 我已经尝试在我的Typescript项目中实现这个功能,使用上面的例子作为灵感。 组件/路线 连接器/专用线路 组件/专用路由 错误
我应该如何在TypeScript中使用Try/Catch?我不希望它检查给定块中的任何错误,因为我已经检查了它们(错误是预期的,状态由catch控制)。 我将代码包装在Try/Catch中(仅为示例): TypeScript拒绝编译它。有没有办法告诉TypeScript我知道这个错误,并且我可以接受?我不想在每一行上都使用忽略(假设我可以有更长的代码),也不想关闭严格模式。有没有更好的解决方案?
我想创建如下界面: 然后我们可以将它用于一个新类: 我想对s做同样的事情。在纯JavaScript中,我可以使类型,例如,满足以下接口: 但TypeScript不允许我这样做: 有办法做到这一点吗?
我在挣扎。 当扩展一个类时,我可以很容易地向它添加一些新属性。 但是,当我扩展基类时,如果我想向基类的对象(简单对象的属性)添加新属性,该怎么办? 下面是一个带有一些代码的示例。 基类 派生类 现在,正如您可以从行内注释中看到的,这将激怒TypeScript。但这在JavaScript中工作。那么,实现这一目标的正确方法是什么呢?如果没有,问题是在我的代码模式本身吗?什么模式适合这个问题? 也许您
我有一个用Typescript编写的Firebase云函数,在那里我可以访问Google存储桶。 我得到的错误是来自admin的Bucket与我的deleteOldBackup函数中的Bucket不同。 我如何获得Proper Typescript类型谷歌存储在我的firebase云功能?
在从2. x升级到4. x并将types cript升级到2. x后,开始出现以下错误,该错误与以前的版本配合良好 无法调用其类型缺少调用签名的表达式。类型'((未完成?:(值:MediaStream)= 我的代码如下
我目前正在为使用typecript、WebStorm、护照和jwt的node.js微服务应用程序开发身份验证服务。在尝试将路由添加到“/api/login”时,我注意到智能感知似乎没有拾取req.user的用户对象或req.header.authorization.的授权对象。例如,以下方法不起作用,因为它找不到用户对象: 我正在使用express中的请求对象: 我需要使用不同的请求对象吗? 此外
我正在开发一个带有NodeJs、Express、types cript和no清新的应用程序。 但是当我更改ts文件中的一些代码时,页面没有刷新。 如何在js中编译ts文件并使用no清新浏览器(或其他工具)? 包裹json 所以,每次我进行更改,我都需要停止服务器并重新运行npm start
我正在将代码转换为使用nodemon来利用TypeScript。 在我的软件包中。json: 以及伪api/server。ts文件: 但是当运行时: 我在谷歌上搜索了一下,最后来到这里:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import 是否有一种解决方法可以继续使用这种导入?