///
//ts7
// 如何扩展 全局变量 局部变量类型
declare global{
interface String{
double():string;
}
interface Window{
myname:string;
}
}
String.prototype.double = function(){
return this + this
}
console.log('hello'.double())
// 模块内扩展全局变量declare global
export{ }
// 合并声明 同一个名称的两个独立声明 会合并成一个单一声明
// interface 可以作为一个类型来使用
// 不加export的 相同类型里面的属性都会被合并了
// 通过命名空间扩展类
class Form{
username:Form.Item = '';
password:Form.Item = ''
}
namespace Form{
//扩展了一个Item 属性
export class Item1 {}
class Item2 {}// 不导出 外面用不了
}
declare function jQuery(selector:string):any;
declare namespace jQuery2 {
export let name:string;
}