values objects method generic create typescript typescript1.5

objects - typescript method



¿Por qué la limitación de exportar una interfaz por defecto en TypeScript? (1)

TypeScript v2.4.0 permite export default interface . Aquí está la solicitud de extracción que introdujo el cambio.

Ahora podemos hacer ambas cosas:

// Foo.ts export interface Foo { } // Bar.ts export default interface Bar { } // Baz.ts import { Foo } from "./foo"; import Bar from "./bar"; export class Baz implements Foo, Bar { }

Estoy usando TypeScript 1.5 beta, y estoy tratando de exportar una interfaz como la exportación predeterminada. El siguiente código provoca un error en Visual Studio y WebStorm:

export default interface Foo {...}

Sin embargo, el siguiente código funciona bien:

interface Foo {...} export default Foo;

¿Es esto por diseño, es un error o estoy haciendo algo mal?

EDIT: Gracias por tu respuesta. Sin embargo, plantea la pregunta, ¿cuál es la forma aceptada de importar una interfaz utilizando la sintaxis del módulo ES6?

Esto funciona:

// Foo.ts export interface Foo {} // Bar.ts import {Foo} from ''Foo''; // Notice the curly braces class Bar { constructor(foo:Foo) {} }

Pero, como eso funciona, ¿por qué no permitir una exportación predeterminada y guardar las llaves?

// Foo.ts export default interface Foo {} // Bar.ts import Foo from ''Foo''; // Notice, no curly braces! class Bar { constructor(foo:Foo) {} }