Nullish coalescing operator (??)

Changes in new versions / TypeScript 3.7

// *** before: ***
function getVolume(volume?: number) {
    return volume !== undefined && volume !== null ? volume : 0.5;
    // volume || 0.5 is wrong here: 0 is a valid volume, and a falsy one
}

// *** in version 3.7: ***
function getVolumeShort(volume?: number) {
    return volume ?? 0.5; // fires on null and undefined only
}