mirror of
https://github.com/swc-project/swc.git
synced 2024-11-28 11:13:43 +03:00
36 lines
715 B
TypeScript
36 lines
715 B
TypeScript
let x: string | number | boolean;
|
|
let cond: boolean;
|
|
|
|
(x = "") || (x = 0);
|
|
x; // string | number
|
|
|
|
x = "";
|
|
cond || (x = 0);
|
|
x; // string | number
|
|
|
|
export interface NodeList {
|
|
length: number;
|
|
}
|
|
|
|
export interface HTMLCollection {
|
|
length: number;
|
|
}
|
|
|
|
declare function isNodeList(sourceObj: any): sourceObj is NodeList;
|
|
declare function isHTMLCollection(sourceObj: any): sourceObj is HTMLCollection;
|
|
|
|
type EventTargetLike = {a: string} | HTMLCollection | NodeList;
|
|
|
|
var sourceObj: EventTargetLike = <any>undefined;
|
|
if (isNodeList(sourceObj)) {
|
|
sourceObj.length;
|
|
}
|
|
|
|
if (isHTMLCollection(sourceObj)) {
|
|
sourceObj.length;
|
|
}
|
|
|
|
if (isNodeList(sourceObj) || isHTMLCollection(sourceObj)) {
|
|
sourceObj.length;
|
|
}
|