Appearance
declare 只是为了代码提示功能,没有实现。
ts
declare let vue: string
declare function sum(x: number, y: number): void
declare interface Foo {
name: string
}
declare module A {
// declare module 内不需要 export,也不需要再写 declare。
const a: string = ''
}
A.a
// module 就是 namespace
declare namespace B {
const b: string = ''
}
declare const $:(selector: string) => {
width(v: number): void
}
$('foo').width(100)
// 接口同名自动合并,函数和命名空间同名自动合并,命名空间同名自动合并。
declare function $ (selector: string): {
width(v: number): void
}
declare namespace $ {
namespace fn {
function extend(): void
}
}
$.fn.extend() // Ok