From string to bool in javascript
כששומרים משתנה בוליאני ב - cookie או ב - storage זה נשמר כמחרוזת, הבעייה כשמנסים להוציא את הערך ולשים אותו למשל ב - checkbox תמיד ה - checkbox יהיה מסומן מכיוון שגם אם הערך הוא "false" נקבל true, בגלל שכתיבה של הקוד הזה:
זהה לקוד הבא:
chk.checked = !("false" == true);
או לזה:
chk.checked = !("false" == false);
כדי להמיר את הערך (שנשמר כמחרוזת) ניתן להרחיב את האובייקט String.
String.prototype.ToBool = function () {
return this.toLowerCase() == "false" ? false : true;
}
ואז נוכל לכתוב
chk.checked = "false".ToBool();