Как изменить параметры функции и ее использование - PullRequest
0 голосов
/ 30 мая 2019

Так что у меня есть метод

function titleAndDetail(title, detail, lineHeight, lineLength, x, y, 
tFontSize, dFontSize, document, replacer){
}

Я использовал это много, много раз. И я понял, что мне не нужны некоторые из этих параметров.

Моя цель - функция, подобная этой:

function titleAndDetail(title, detail, lineLength, x, y, 
document){
}

Мой вопрос таков: можно ли каким-либо образом реорганизовать метод и автоматически удалить эти параметры там, где вызывается метод, чтобы не делать это вручную сотни раз?

Я использую визуальный код студии.

1 Ответ

0 голосов
/ 30 мая 2019

Есть два способа сделать это.

Либо вы можете сделать так, чтобы он принимал много параметров и игнорировал их, если некоторые из них равны нулю. Таким образом, вы создаете функцию, которая имеет все возможные параметры, а затем используете ее и просто устанавливаете для некоторых значение null. Это можно увидеть в «необязательном» параметре TypeScript.

Лучший способ, который был предложен, - передать лямбда-объект JS. Это можно сделать так:

// Define it like this
function titleAndDetail(title, detail, lineLength, x, y, 
document) {
  // But instead you can check if title is actually something that defines all of these. Like this:
if(title.title != undefined) {
  passTitle(title.title);
} else {
  passTitle(title);
}

if(title.detail != undefined) {
  passDetail(title.detail);
} else {
  passDetail(detail);
}

}


// How you would use this and it wouldn't hinder the other uses of your function.
titleAndDetail({title: "title", detail:"detail", lineLength:"length", x: 43, y: 432, 
document: "document"});

Помните, что вы можете передать что-нибудь в качестве значения для всех из них.

Надеюсь, я помог ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...