UNPKG

4.08 kBTypeScriptView Raw
1/**
2 * Object 对象扩展
3 */
4interface ObjectConstructor {
5 /**
6 * 获取对象数据类型
7 *
8 * @param obj 对象变量
9 * @return 对象数据类型
10 */
11 type(obj: any): string;
12 /**
13 * 获取对象原始数据类型
14 *
15 * @param obj 对象变量
16 * @return 原始数据类型
17 */
18 rawType(obj: any): string;
19 /**
20 * 判断对象是否为 object 类型
21 *
22 * @param obj 任意对象
23 * @return boolean
24 */
25 isObject(obj: any): boolean;
26 /**
27 * 判断对象是否为简单 object 类型
28 *
29 * @param obj 任意对象
30 * @return boolean
31 */
32 isPlainObject(obj: any): boolean;
33 /**
34 * 判断对象是否为 Map 类型
35 *
36 * @param obj 任意对象
37 * @return boolean
38 */
39 isMap(obj: any): boolean;
40 /**
41 * 判断对象是否为 Set 类型
42 *
43 * @param obj 任意对象
44 * @return boolean
45 */
46 isSet(obj: any): boolean;
47 /**
48 * 判断对象是否为 Symbol
49 *
50 * @param obj 任意对象
51 * @return boolean
52 */
53 isSymbol(obj: any): boolean;
54 /**
55 * 判断对象是否为 Promise
56 *
57 * @param obj 任意对象
58 * @return boolean
59 */
60 isPromise(obj: any): boolean;
61 /**
62 * 判断对象是否为原始类型
63 *
64 * @param obj 任意对象
65 * @return boolean
66 */
67 isPrimitive(obj: any): boolean;
68 /**
69 * 判断对象是否为函数
70 *
71 * @param obj 任意对象
72 * @return boolean
73 */
74 isFunction(obj: any): boolean;
75 /**
76 * 判断对象是否为数组
77 *
78 * @param obj 任意对象
79 * @return boolean
80 */
81 isArray(obj: any): boolean;
82 /**
83 * 判断对象是否为字符串对象
84 *
85 * @param obj 任意对象
86 * @return boolean
87 */
88 isString(obj: any): boolean;
89 /**
90 * 判断对象是否为数字对象
91 *
92 * @param obj 任意对象
93 * @return boolean
94 */
95 isNumber(obj: any): boolean;
96 /**
97 * 判断对象是否为布尔对象
98 *
99 * @param obj 任意对象
100 * @return boolean
101 */
102 isBoolean(obj: any): boolean;
103 /**
104 * 判断对象是否为正则对象
105 *
106 * @param obj 任意对象
107 * @return boolean
108 */
109 isRegExp(obj: any): boolean;
110 /**
111 * 判断对象是否为文件对象
112 *
113 * @param obj 任意对象
114 * @return boolean
115 */
116 isFile(obj: any): boolean;
117 /**
118 * 判断对象是否为 windows 对象
119 *
120 * @param obj 任意对象
121 * @return boolean
122 */
123 isWindow(obj: any): boolean;
124 /**
125 * 判断对象是否为 Element
126 *
127 * @param obj 任意对象
128 * @return boolean
129 */
130 isElement(obj: any): boolean;
131 /**
132 * 判断对象是否为事件对象
133 *
134 * @param obj 任意对象
135 * @return boolean
136 */
137 isEvent(obj: any): boolean;
138 /**
139 * 判断对象是否为 null 对象
140 *
141 * @param obj 任意对象
142 * @return boolean
143 */
144 isNull(obj: any): boolean;
145 /**
146 * 判断对象是否为未定义
147 *
148 * @param obj 任意对象
149 * @return boolean
150 */
151 isUndefined(obj: any): boolean;
152 /**
153 * 判断对象是否为未定义或 null
154 *
155 * @param obj 任意对象
156 * @return boolean
157 */
158 isUndefinedOrNull(obj: any): boolean;
159 /**
160 * 判断两个对象是否相等
161 *
162 * @param obj1 一个对象
163 * @param obj2 用于和 obj1 比较的对象
164 * @return 当两个对象相等时,返回 true;否则,返回 false
165 */
166 equals(obj1: any, obj2: any): boolean;
167 /**
168 * 克隆对象
169 *
170 * @param obj 任意对象
171 * @return 新对象实例
172 */
173 clone(obj: any): any;
174 /**
175 * 克隆对象,但需要删除指定属性
176 *
177 * @param obj 任意对象
178 * @param fields 需要删除的属性
179 * @return 新对象实例
180 */
181 omit<T extends object, K extends keyof T>(obj: T, ...fields: K[]): Omit<T, K>;
182}
183declare var Object: ObjectConstructor;