25 lines
470 B
JavaScript
25 lines
470 B
JavaScript
/* @flow */
|
|
|
|
function a(): number {
|
|
var x: ?string = null;
|
|
return x ? 1 : 0;
|
|
}
|
|
|
|
function b(): number {
|
|
var x: ?number = null;
|
|
return x != null ? x : 0;
|
|
}
|
|
|
|
function c(): number {
|
|
// equivalent to `return (x && 1) || 0`
|
|
var x = false;
|
|
var temp = (x ? 1 : x);
|
|
return temp ? temp : 0;
|
|
}
|
|
|
|
function d(): string { // expected `: number | boolean`
|
|
// equivalent to `return x != null && x`
|
|
var x: ?number = null;
|
|
return (x != null) ? x : (x != null);
|
|
}
|