3
respostas

Como obter os nomes dos parâmetros passados a uma função?

Olá! alguém sabe informar se existe alguma maneira de obter os nomes dos parâmetros passados para uma função?

↓Exemplo↓

function D(){
    // obtêm o nome dos parâmetros.
}
D(num1, num2); 
// retorno esperado : ['num1', 'num2']
D(objeto.parametroInterno);
// retorno esperado: ['objeto.parametroInterno']
3 respostas

Oi Antonio,

Uma ideia que eu encontrei no stackoverflow é usar object literal para guardar nome e valor:

function D(dados) {
    for (var nome in dados) {
        console.log(nome);
    }
}

var obj = {'num1': 3, 'num2': 4}

D(obj)

Imprime:

num1
num2

Mas isso vc não queria, ne?

abs Nico

não ;/ . Oque eu tava querendo era pegar o nome da variável mesmo.

Ainda buscando um meio de fazer isso.

na verdade eu tava querendo isso pra justamente testar se existe alguém nulo no meio do caminho.

exemplo:

if(obj.prop1.nome){
    // faz algo
}

oque eu queria era se antecipar antes do erro e ver se o prop1 esta nulo. pra retornar um false.

Mas o intuito disso é pra algo genérico.

var obj = {
    inerno: null
}
if(D(obj.interno.nome).isString()){
    // faz algo
}

O objetivo é antecipar o erro e retornar um false.