Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

extending interface with generic in typescript

Tags:

People also ask

Can we extend interface in TypeScript?

In TypeScript, interfaces can also extend classes, but only in a way that involves inheritance. When an interface extends a class, the interface includes all class members (public and private), but without the class' implementations.

How do I use generics in interface TypeScript?

TypeScript - Generic Interface The above IProcessor is a generic interface because we used type variable <T> . The IProcessor interface includes the generic field result and the generic method process() that accepts two generic type parameters and returns a generic type. As you learned, you can use interface as type.

How do you use generics in an interface?

Generic constructors are the same as generic methods. For generic constructors after the public keyword and before the class name the type parameter must be placed. Constructors can be invoked with any type of a parameter after defining a generic constructor.

Can you extend multiple interfaces TypeScript?

You can extend from as many interfaces as necessary by separating the interfaces with a comma. You are not required to add any new members to the final interface and can use the extends keyword to simply combine interfaces.


I want to build an function which takes any object and return that object with few added properties. Something like:

    //this code doesn't work            function addProperties<T>(object: T): IPropertiesToAdd<T> {/*implmentions code*/};          interface IPropertiesToAdd<T> extend T{             on(): void;             off(): void;         }  //usage example var str = new String('Hello') addProperties(str) str.charAt(3) str.on()  

For the above code typescript compiler return the error that an interface can only add a class or interface, how I can express this in typescript.