1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
//// [tests/cases/conformance/types/stringLiteral/stringLiteralCheckedInIf02.ts] ////
//// [stringLiteralCheckedInIf02.ts]
type S = "a" | "b";
type T = S[] | S;
function isS(t: T): t is S {
return t === "a" || t === "b";
}
function f(foo: T) {
if (isS(foo)) {
return foo;
}
else {
return foo[0];
}
}
//// [stringLiteralCheckedInIf02.js]
function isS(t) {
return t === "a" || t === "b";
}
function f(foo) {
if (isS(foo)) {
return foo;
}
else {
return foo[0];
}
}
|