1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
=== tests/cases/compiler/a.js ===
/**
* @typedef Foo
* @property {number} [foo]
*/
const x = /** @type {Foo} */ ({});
>x : Symbol(x, Decl(a.js, 5, 5))
x.foo; // number | undefined
>x.foo : Symbol(foo, Decl(a.js, 2, 3))
>x : Symbol(x, Decl(a.js, 5, 5))
>foo : Symbol(foo, Decl(a.js, 2, 3))
const y = /** @type {Required<Foo>} */ ({});
>y : Symbol(y, Decl(a.js, 8, 5))
y.foo; // number
>y.foo : Symbol(foo, Decl(a.js, 2, 3))
>y : Symbol(y, Decl(a.js, 8, 5))
>foo : Symbol(foo, Decl(a.js, 2, 3))
|