class Thing extends ((function () {
return null;
})()) {
doThing() {
}
}
extends null
λΌκ³ λ§νλ κ²μ μ λ§ μ°νμ μΈ λ°©λ²μ΄μ§λ§ μ νμ΄ μ²΄ν¬μμλμ§ μμ μ΄μν©λλ€. κ²μ¬κΈ°λ₯Ό λ§μ‘±μν€λ €λ©΄ StringConstructor
μ κ°μ λλ―Έ ctor μ νμΌλ‘ IIFEμ μ£Όμμ λ¬μμΌ ν©λλ€.
μ΄κ²μ μλμ μΌλ‘ μ€κ³λ κ²μ
λλ€. nullμ νμ₯νλ μ μΌν μ§μ νμμ extends null
μ΄λ©°, μ νμ κ΅¬μ± μλͺ
μ΄ μλ κ°μ λ°νν΄μΌ ν©λλ€. μ¬κΈ°μλ μλν κ²λ³΄λ€ μ¬μ©μ μ€λ₯μΌ κ°λ₯μ±μ΄ λ λκΈ° λλ¬Έμ μ΄ μλ리μ€μμλ anyλ₯Ό μμΌλμΉ΄λλ‘ μ μΈνμ΅λλ€. μ΄κ²μ΄ νμν μ€μ μ¬μ© μ¬λ‘κ° μλμ§ νμΈνλ κ²μ ν₯λ―Έλ‘μΈ κ²μ
λλ€.
λ€μμ TypeScript 2.0μμ declare module 'swagger-client';
μ κ°μ λͺ¨λ swagger-clientλ₯Ό μ μΈν ν₯λ―Έλ‘μ΄ κ²½μ°μ
λλ€. κ·Έλ¬λ λ€μκ³Ό κ°μ΄ μ¬μ©νλ €κ³ ν λ
import * as Swagger from 'swagger-client';
class Swagger extends Swagger {
pet: any;
constructor() {
super({
url: config.get('spec.petstore'),
usePromise: true
});
}
}
Type 'any' is not a constructor function type
μ€λ₯κ° λ°μν©λλ€.
λ€μκ³Ό κ°μ΄ μΈλ±μ€ νμΌμμ κ°μ Έμ¬ λ μ΄ μ€λ₯κ° λ°μνμ΅λλ€.
'.'μμ {νμ, κΈ°λ³Έ} κ°μ Έμ€κΈ°
νμ ν΄λμ€λ κΈ°λ³Έ ν΄λμ€ μ μ index.tsμ λμ΄λμμ΅λλ€.
'./Derived'μμ {Derived} λ΄λ³΄λ΄κΈ°;
'./Base'μμ {Base} λ΄λ³΄λ΄κΈ°;
λλ μμλ₯Ό λ°κΏ¨κ³ ν¨κ³Όκ° μμλ€.
κ°μ₯ μ μ©ν λκΈ
λ€μμ TypeScript 2.0μμ
declare module 'swagger-client';
μ κ°μ λͺ¨λ swagger-clientλ₯Ό μ μΈν ν₯λ―Έλ‘μ΄ κ²½μ°μ λλ€. κ·Έλ¬λ λ€μκ³Ό κ°μ΄ μ¬μ©νλ €κ³ ν λType 'any' is not a constructor function type
μ€λ₯κ° λ°μν©λλ€.