1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
=== tests/cases/compiler/typeGuardNarrowByUntypedField.ts ===
declare function hasOwnProperty<P extends PropertyKey>(target: {}, property: P): target is { readonly [K in P]: unknown };
>hasOwnProperty : <P extends PropertyKey>(target: {}, property: P) => target is { readonly [K in P]: unknown; }
>target : {}
>property : P
declare const arrayLikeOrIterable: ArrayLike<any> | Iterable<any>;
>arrayLikeOrIterable : ArrayLike<any> | Iterable<any>
if (hasOwnProperty(arrayLikeOrIterable, 'length')) {
>hasOwnProperty(arrayLikeOrIterable, 'length') : boolean
>hasOwnProperty : <P extends PropertyKey>(target: {}, property: P) => target is { readonly [K in P]: unknown; }
>arrayLikeOrIterable : ArrayLike<any> | Iterable<any>
>'length' : "length"
let x: number = arrayLikeOrIterable.length;
>x : number
>arrayLikeOrIterable.length : number
>arrayLikeOrIterable : ArrayLike<any>
>length : number
}
|