[フレーム]
Last Updated: September 27, 2021
·
63.31K
· ericdfields

Parse a boolean from a string in Javascript

Javascript has parseInt built in to help us get a numeric value from a number cast a string. It's incredibly handy when shuffling around data.

Recently, I've dealt with a situation where I needed to get a boolean value set as a data attribute on a DOM object where the value was set as a string ("true" or "false").

Why isn't there an easy way to convert a string to a boolean in Javascript? I'm not sure, and I wasn't satisfied with the answers I found on StackOverflow. So I made a sweet little function to do just this. Coffeescript and compiled JS below:

window.parseBoolean = (string) ->
 bool = switch
 when string.toLowerCase() == 'true' then true
 when string.toLowerCase() == 'false' then false
 return bool if typeof bool == "boolean"
 return undefined
window.parseBoolean = function(string) {
 var bool;
 bool = (function() {
 switch (false) {
 case string.toLowerCase() !== 'true':
 return true;
 case string.toLowerCase() !== 'false':
 return false;
 }
 })();
 if (typeof bool === "boolean") {
 return bool;
 }
 return void 0;
};

AltStyle によって変換されたページ (->オリジナル) /