Могу ли я передать сравнение как функцию параметров? - PullRequest
0 голосов
/ 06 ноября 2019

Мой главный вопрос: какой тип параметров данных принимает? Я бы передал сравнение в качестве параметров как для примера

    Function test(a) //where A is a comparison so for example
test("a" == "a")

Я пытаюсь получить выражение сравнения, а не результат.

Возможно ли это? Есть ли способ сделать это? Спасибо

Ответы [ 2 ]

0 голосов
/ 06 ноября 2019

Да, это возможно:

function isPosible(param) { // Here you define a function
  return param;
}

// Below you are executing the function and printing the result
console.log(isPosible("a === a")); // Returns the whole expression

Более важно понимать, что вы можете передать любое выражение в качестве аргумента функции, включая, но не ограничиваясь: Любой тип примитива (строка, число, логическое значение, undefined, null и т. д.), функции (обратные вызовы), выражения, которые оценивают что-то вроде вашего кейса .

0 голосов
/ 06 ноября 2019

Да, вы можете передавать функции в качестве параметров, и как в JS, так и в других языках это довольно распространенный шаблон для передачи "предикатных" функций.

let isGreaterThan5 = v => v > 5;
let out = [1,3,5,7,9].filter(isGreaterThan5);
console.log(out);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...