function sayName(params: {firstName: string; lastName?: string}) {
params.lastName = params.lastName || 'smith'; // <<-- any better alternative to this?
var name = params.firstName + params.lastName
alert(name);
}
sayName({firstName: 'bob'});
J'avais imaginé que quelque chose comme ça pourrait fonctionner:
function sayName(params: {firstName: string; lastName: string = 'smith'}) {
Évidemment, s'il s'agissait d'arguments simples, vous pourriez le faire avec:
function sayName(firstName: string, lastName = 'smith') {
var name = firstName + lastName;
alert(name);
}
sayName('bob');
Et dans coffeescript, vous avez accès à l'opérateur d'existence conditionnelle, vous pouvez donc faire:
param.lastName ?= 'smith'
Qui compile au javascript:
if (param.lastName == null) {
param.lastName = 'smith';
}
params.lastName = params.lastName || 'smith';est en fait plutôt bonne - elle gère les chaînes vides, les chaînes non définies et les valeurs nulles.