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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
//// [nonNullFullInference.ts]
// https://github.com/microsoft/TypeScript/issues/19577
function testNonNullInference(numbers: number[]) {
let last;
for (const n of numbers) {
if (n % 2) {
return n;
}
last = n;
}
last;
last!;
}
function testNonNullInferenceWithArrays(numbers: number[]) {
let result;
const arr = [];
for (const n of numbers) {
if (n % 2) {
return [n];
}
arr.push(n);
result = arr;
}
result;
result!;
}
//// [nonNullFullInference.js]
// https://github.com/microsoft/TypeScript/issues/19577
function testNonNullInference(numbers) {
var last;
for (var _i = 0, numbers_1 = numbers; _i < numbers_1.length; _i++) {
var n = numbers_1[_i];
if (n % 2) {
return n;
}
last = n;
}
last;
last;
}
function testNonNullInferenceWithArrays(numbers) {
var result;
var arr = [];
for (var _i = 0, numbers_2 = numbers; _i < numbers_2.length; _i++) {
var n = numbers_2[_i];
if (n % 2) {
return [n];
}
arr.push(n);
result = arr;
}
result;
result;
}
|