Нет, если вы хотите быть в безопасности и в соответствии с хорошей практикой, это не так. Вы можете определить, было ли выражение оценено как true
или false
, но, поскольку это все, что происходит внутри оператора if
, вы не можете получить доступ к исходному синтаксису оператора.
Если вы действительно хотели это сделать, единственный возможный способ - это сначала сохранить выражение в строку, а затем eval
строку внутри оператора if
.
const exp = "x == 3";
const x = 3;
if (eval(exp)) {
console.log("True");
} else {
console.log("False");
}