我想知道男人和孩子有什么共同点,以及他们有什么不同.
class Person {
name: string;
age: number;
}
class child extends Person {}
class man implements Person {}
Run Code Online (Sandbox Code Playgroud) 我是TypeScript的新手,我非常喜欢它,尤其是在Javascript中进行OOP是多么容易.然而,在使用尖括号时,我仍然试图找出语义.
从他们的文档中,我看到了几个例子
interface Counter {
(start: number): string;
interval: number;
reset(): void;
}
function getCounter(): Counter {
let counter = <Counter>function (start: number) { };
counter.interval = 123;
counter.reset = function () { };
return counter;
}
Run Code Online (Sandbox Code Playgroud)
和
interface Square extends Shape, PenStroke {
sideLength: number;
}
let square = <Square>{};
Run Code Online (Sandbox Code Playgroud)
我无法理解这究竟意味着什么或想到/理解它的方式.
有人可以向我解释一下吗?
我正在使用typescript创建一个离子2应用程序,在将本地typescript安装升级到版本后2.2.1,2.1.0我已经开始收到此错误:
类型'()=> Observable'不能赋值为'()=> Observable'.存在两种具有此名称的不同类型,但它们是不相关的.类型'Observable'不能分配给'Observable'类型.存在两种具有此名称的不同类型,但它们是不相关的.
对于以下每一行重复此错误
L28: this.onDisconnect = Network.onDisconnect
L29: this.onchange = Network.onchange
L30: this.ontypechange = Network.ontypechange
Run Code Online (Sandbox Code Playgroud)
Network是从进口的一类ionic-native其onDisconnect,onchange并且ontypechange方法被定义为如下:
static onDisconnect(): Observable<any>;
static onchange(): Observable<any>;
static ontypechange(): Observable<any>;
Run Code Online (Sandbox Code Playgroud)
我有onDisconnect,onchange和ontypechange作为名为"网络" public的自定义类(@Injectable()类)的属性,我已按如下方式定义它们:
L15: public onDisconnect: ()=>Observable<any>
L16: public ontypechange: ()=>Observable<any>
L17: public onchange: ()=>Observable<any>
Run Code Online (Sandbox Code Playgroud)
我有三个问题?
第一:有人会帮我理解错误在打字稿中的真正含义以及为什么它会在我的代码中出现.
第二:虽然我知道我可以扩展课程,但我不想这样做.所以我在问,在声明我的方法public时有什么区别,因为类中的那些是static导致这个问题的?
第三:这两种在类中定义属性的区别是什么?
编辑:
我刚刚意识到我之前尝试过扩展Network类,但由于静态声明而失败了
我一直在使用node一段时间(对于我的后端)和带有离子的打字稿(用于前端).在Ionic上,我意识到我已经设法避免因为TypeScript而导致的许多陷阱和错误.因此我决定将纯JS中的所有后端转换为TypeScript.
我遇到的第一个障碍是如何正确导入本机节点模块http,os以及child_process其中之一.
在大多数模块上,你通常可以做类似的事情import { some_export } from 'that_module'.我还可以在@ types / repo中看到节点的类型定义.我已经尝试了,import { http, os } from 'node'但我收到了投诉
/node_modules/@types/node/index.d.ts不是模块
我的问题是如何导入本机节点模块?
typescript ×4
angular ×1
brackets ×1
extends ×1
implements ×1
import ×1
native ×1
node.js ×1
public ×1
static ×1