LoginSignup
25
24

More than 5 years have passed since last update.

javascriptで必ずboolean値を返す

Posted at

概要

Objectでもfunctionでもなんでもboolean値で返す手法です。

常識なのかもしれませんが、Modernizrのソースを読んでいて初めて
知ったので残しておきます。

実装

test.js
var str   = 'hoge';
var str_e = '';
var num   = 1;
var num_e = 0;
var nl    = null;
var unde  = void 0;
var obj   = {jojo: 'oraora', dio: 'mudamuda'};
var obj_e = {};
var arr   = ['ora', 'muda'];
var arr_e = [];
var fnc = function() {};

console.log(!!str);    // true
console.log(!!str_e);  // false
console.log(!!num);    // true
console.log(!!num_e);  // false
console.log(!!nl);     // false
console.log(!!unde);   // false
console.log(!!obj);    // true
console.log(!!obj_e);  // true
console.log(!!arr);    // true
console.log(!!arr_e);  // true
console.log(!!fnc);    // true

ちなみに

Ruby, PHPでもこの書き方ができるようです。
この書き方の正式名称を知っている方は教えて下さいm(_ _)m

25
24
8

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
25
24