我有两个接口,X和Y。X有两个属性:x1和x2。现在Y希望从X继承,但不希望继承x2。
interface X {
x1 : string;
x2 : string;
}
interface Y extends X{
// x2 shouldn't be available here
}
作为TypeScript的新手,我不能理解它。TypeScript中有没有extends X without x1类型的内置特性?
注意:在我的实际案例中,X是一个内置的interface。因此,我需要在不更改X接口的情况下完成此操作。有可能吗?
我想在TypeScript中创建一个类数组。这在香草JavaScript中是可能的:
class A {
constructor() {console.log('constructor');}
a() {}
}
const array = [A];
new (array[0])(); // Prints 'constructor'
我希望使用一个接口来保证数组类型的安全性。这是我在TypeScript中实现这一点的尝试:
interface I {
a();
}
class A implements I {
construc
我是angular (TypeScript)的新手,我想实现两个类之间的合成。我怎样才能做到这一点呢?
在c#中,如果我有像A和B这样的两个类,那么我实现如下的组合
class A
{
int ID {get;set;}
List<B> lstClassB {get;set;}
}
class B {
int ID {get;set;}
}
如何在TypeScript中使用此功能,如
export class A
{
ID :int;
lstClassB : ////what should I write here?
}
export class B
如何在Array'的类型签名中指定TypeScript的长度?
declare const a: Array<any>[20]; // wishful syntax
...
foo(a[10]); // fine
foo(a[100]); // type error: index is out of bounds
如何将下面的Javascript转换成TypeScript? function getProperties(obj) {
for (let key in obj) {
if (obj.hasOwnProperty(key)) {
console.log(obj[key]);
}
}
} 我找不到一个可行的解决方案。TypeScript中的对象键显然不是string类型,而是string literal type类型。有没有可能遍历编译时不知道确切类型的对象的属性?
在C#中,接口和类之间有很大的区别。实际上,一个类代表一个引用类型,因此我们实际上可以创建基于该类建模的对象,而接口则是类签名的契约,以确保某种行为的存在。特别是,我们不能创建接口实例。
接口的全部要点是公开行为。类通过给出所述行为的一个显式实现来实现它。
在这种情况下,虽然接口可能包含属性,但由于行为问题,大多数时候我们都关心接口。因此,大多数类型的接口只是行为契约。
另一方面,在TypeScript上,我似乎有些事情让我感到非常不安,事实上,我不止一次看到这个问题,这也是我提出这个问题的原因。
在一篇教程中,我看到了这一点:
export interface User {
name
我正在将一个C#桌面应用程序重构为一个棱角/类型记录的web应用程序。
C#应用程序中的所有类属性都使用PascalCase,所以我认为,保留它是个好主意。
下面是两个基本相同的TypeScript类的示例。1号使用PascalCase,2号使用camelCase:
//PascalCase
export class Info
{
public ManagedType:string;
public ApiTemplate:string;
}
//camelCase
export class Info
{
public managedType:string;
我在TypeScript中大量使用示例,试图了解Exclude条件类型助手是如何独立工作的。
正如TypeScript文档定义的那样:
从T中排除那些可以分配给U的类型。
如库中所定义的:
/**
* Exclude from T those types that are assignable to U
*/
type Exclude<T, U> = T extends U ? never : T;
我从用户那里看到了很多不正确的博客文章,我尝试了很多代码,如下所示:
type User = {
id: string;
name: string;
ph
给定如下的typescript文件:
export interface Service {
execute(): Promise<number>;
}
如何获取所有方法及其返回类型的列表。
目前,我正在尝试使用typescript编译器API来实现这一点。但是我在“泛型”方面遇到了困难。
到目前为止,我已经编写了以下代码,但我不知道如何获取Promise的“number”类型。
let program = ts.createProgram(['./something.ts'], {});
let typeChecker = program.getTypeChec