JavaScriptクックブック 第1章
- 作者: Shelley Powers,株式会社クイープ
- 出版社/メーカー: オライリージャパン
- 発売日: 2011/04/23
- メディア: 大型本
- クリック: 22回
- この商品を含むブログ (9件) を見る
レシピ1.6 文字列が存在し、空でないことを調べる
の、ちょっとアレンジ版というか、劣化版というか。
恥ずかしながらObject#valueOfって何に使うんだろうと思っていたのですが、
プリミティブ型の値を出力してくれるんですね。
console.log(typeof (new String('aaa')).valueOf()); // string console.log(typeof new String('aaa')); // object console.log(typeof (new Number(100)).valueOf()); // number console.log(typeof new Number(100)); // object console.log(typeof (new Boolean(true)).valueOf()); // boolean console.log(typeof new Boolean(true)); // object
そもそもクラスとして生成することないけど……
でもまあ、そういう可能性もあるので、このレシピではvalueOfでそれがStringかどうかを見ています。(以下のコードは自作のもので、本に載っているものではありません)
function isString(str) { return ( typeof str === 'string' || (str.valueOf && typeof str.valueOf() === 'string') ); }
……てかStringで強制キャストすればいいような、ってちょっと思ったけどそれは違うか。
知らないことがまだまだ多くて、もっともっと精進しないと。