gist

2012年6月25日月曜日

CoffeeScriptで学ぶ Underscore.js 12(Object編)

12回目。Object編。今回はis判定です。16種類の判定があります。


isEqual

_.isEqual(object, other)

isEqualは、2つのオブジェクトの最下層まで等しい場合trueを返します。

_ = require 'underscore'

a = {name:'Taro', luckyNumbers:[12,67,42]}
b = {name:'Taro', luckyNumbers:[12,67,42]}

console.log a is b
console.log _.isEqual a,b
実行結果
$ coffee isEqual.coffee 
false
true

isEmpty

_.isEmpty(object)

isEmptyは、objectが空の場合にtrueを返します。

_ = require 'underscore'

a = {}
b = {a}

console.log _.isEmpty a
console.log _.isEmpty b
実行結果
$ coffee isEmpty.coffee 
true
false

isElement

_.isElement(object)

isElementは、オブジェクトがDOM要素である場合にtrueを返します。

alert _.isElement(jQuery('body')[0]);
実行結果
true

ブラウザでjQueryを読み込んで、実行します。


isArray

_.isArray(object)

isArrayは、objectが配列のときtrueを返します。

_ = require 'underscore'

list = [1,2,3,4,5]
obj = {list}

console.log _.isArray list
console.log _.isArray obj
実行結果
$ coffee isArray.coffee 
true
false

isObject

_.isObject(value)

isObjectは、objectがオブジェクトの場合、trueを返します。

_ = require 'underscore'

list = [1,2,3,4,5]
obj = {list}

console.log _.isObject list
console.log _.isObject obj
console.log _.isObject 100
実行結果
$ coffee isObject.coffee 
true
true
false

配列もtrueです。


isArguments

_.isArguments(object)

isArgumentsは、objectが引数の場合、trueを返します。

_ = require 'underscore'

func = ()->
 _.isArguments arguments

console.log func(1,2,3)

console.log _.isArguments([1,2,3])
実行結果
$ coffee isArguments.coffee 
true
false

isFunction

_.isFunction(object)

isFunctionは、objectが関数の場合trueを返します。

_ = require 'underscore'

console.log _.isFunction _.isFunction
console.log _.isFunction 123
実行結果
$ coffee isFunction.coffee 
true
false

isString

_.isString(object)

isStringは、objectが文字列の場合、trueを返します。

_ = require 'underscore'

console.log _.isString 'AKB'
console.log _.isString 123
実行結果
$ coffee isString.coffee 
true
false

isNumber

_.isNumber(object)

isNumberは、objectが数値の場合、trueを返します。

_ = require 'underscore'

console.log _.isNumber 'AKB'
console.log _.isNumber 123
実行結果
$ coffee isNumber.coffee 
false
true

isFinite

_.isFinite

isFiniteは、objectが有限の数値の場合trueを返します。

_ = require 'underscore'

console.log _.isFinite -Infinity
console.log _.isFinite 123
実行結果
$ coffee isFinite.coffee 
false
true

isBoolean

_.isBoolean(object)

isBooleanは、objectがtrueかfalseの場合にtrueを返します。

_ = require 'underscore'

console.log _.isBoolean null
console.log _.isBoolean true
console.log _.isBoolean false
実行結果
$ coffee isBoolean.coffee 
false
true
true

falseはBoolean型なのでtrueを返します。


isDate

_.isDate(object)

isDateは、objectがDate型のときtrueを返します。

_ = require 'underscore'

console.log _.isDate new Date()
実行結果
$ coffee isDate.coffee 
true

isRegExp

_.isRegExp(object)

isRegExpは、objectが正規表現となっている場合trueを返します。

_ = require 'underscore'

console.log _.isRegExp /abc/
実行結果
$ coffee isRegExp.coffee 
true

isNaN

_.isNaN(object)

isNaNは、objectがNaN型の場合、trueを返します。undefinedの場合、ネイティブのisNaN ではtrueを返しますが、_.isNaNではfalseを返します。

_ = require 'underscore'

console.log _.isNaN NaN
console.log _.isNaN undefined
console.log isNaN undefined
実行結果
$ coffee isNaN.coffee 
true
false
true

isNull

_.isNull(object)

isNullは、objectがnullの場合、trueを返します。

_ = require 'underscore'

console.log _.isNull null
console.log _.isNull undefined

実行結果
$ coffee isNull.coffee 
true
false

isUndefined

_.isUndefined(object)

isUndefinedは、objectがundefinedの場合、trueを返します。

_ = require 'underscore'

console.log _.isUndefined null
console.log _.isUndefined undefined
実行結果
$ coffee isUndefined.coffee 
false
true

関連ページ

0 件のコメント: