Tuesday, May 28, 2024
 Popular · Latest · Hot · Upcoming
130
rated 0 times [  133] [ 3]  / answers: 1 / hits: 7843  / 8 Years ago, mon, august 22, 2016, 12:00:00

Can you pass default values to a class constructor? Here, last returns undefined.



class greatFunction {
options: {
names: {first: 'Joe', last: 'Bloggs'}
}
constructor(options) {
console.log(options.names.first + ' ' + options.names.last);
}
}


Called:



new greatFunction({
names: {
first: 'Paul'
}
});

More From » typescript

 Answers
1

Try setting default values:



class GreatFunction {
options: {
names: {first: 'Joe', last: 'Bloggs'}
}
constructor({names: {first=this.options.names.first: firstName, last=this.options.names.last: lastName}}) {
console.log(`${firstName} ${lastName}`)
}
}


Alternatively, use a library, for example lodash.defaults() seems to fit your use case.


[#26475] Saturday, August 20, 2016, 8 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
ross

Total Points: 477
Total Questions: 97
Total Answers: 98

Location: France
Member since Thu, May 6, 2021
3 Years ago
;