Я хотел сделать то же самое, чтобы назначить несколько атрибутов экземпляру моего класса.
Такой подход может не помочь вам, так как он использует один объект аргумент вместо двух аргументов, еще стоит упомянуть:
class MyClass{
constructor(params={param1:3.1415, param2:'Hello'}){
//*assign* effectively destructures the params arg
Ojbect.assign(this,params);
}
}
Аналогично ваш пример будет выглядеть следующим образом:
function someFunc(params = {param1:'value', param2: 'value'}) {
console.log(Object.keys(params).length);
console.log(params['param1']);
}
Обратите внимание, что этот подход требует, чтобы ваш аргумент был объектом, и что получил один из двух аргументов ts другой не будет присутствовать в объекте по умолчанию.
Я чувствую проблему XY. Что вы пытаетесь сделать точно? Зачем вам нужно считывать значения по умолчанию внутри функции? –