Чи можу я перетворити рядок, що представляє булеве значення (наприклад, "true", "false"), у власний тип JavaScript?
У мене є прихована форма в HTML, яка оновлюється на основі вибору користувача у списку. Ця форма містить деякі поля, які представляють булеві значення та динамічно заповнюються властивим булевим значенням. Однак, як тільки це значення поміщається у приховане поле введення, воно стає рядком.
Єдиний спосіб, коли я міг би визначити булеве значення поля, після його перетворення в рядок, полягав у тому, щоб залежати від буквального значення його рядкового подання.
var myValue = document.myForm.IS_TRUE.value;
var isTrueSet = myValue == 'true';
Чи є кращий спосіб досягти цього?
function parseBool(val) { return val === true || val === "true" }
function checkBool(x) { if(x) {return true;} else {return false;} }
if (checkBool(x) != false) { ... } else { ... }
!!(parseInt(value) || value === "true")
string=(string==String(string?true:false))?(string?true:false):(!string?true:false);