気づかなかったコード

気づかなかったStringの関数として利用方法

str = String('str');
ary = Array('p1','p1');
obj = Object();

alert(typeof(str)); // string
alert(typeof(ary)); // object
alert(typeof(obj)); // object

alert(ary[0]); // p1
alert(ary[1]); // p2

なんの意味があるのと激しく突っ込みがあるかも知れないですがStrigやArrayやObjectってオブジェクトを作成する以外にも変数リテラル作ることができるんですねぇ〜。[]や''や{}の書き方になれると意外と盲点でした。僕だけですね(ρ_;)

有効活用できそうな例

■1.多くの人がこう書く?
function hoge01(){
   var str = 'f'+'o'+'o';
   return str.repace('foo','bar')
}

■2.Stringを利用すると…
function hoge02(){
   return String('f'+'o'+'o').replace('foo','bar');
}

■3.こうも書ける。
function hoge03(){
   return ('f'+'o'+'o').replace('foo','bar');
}

無理無理。有効活用できる例おもいつきません(>▽<;;

そういえば型変換に利用できるよね。

そういえば型変換に使えますね。時々困るのが暗黙の型変化に頼った加算。与えられる変数の型があやふやだと困りますねと…。

seven = '7';
ten = seven + 3; // 73 になります 型はstring型です。

■解決策その1
seven = seven - 0;// -0 すると暗黙の型変換で number型に変換される
ten = seven + 3;  // 10 になります。number型です。

■解決策その2
seven = Number(seven); // 型変換の明示
ten = seven + 3;  // 10 になります。number型です。

おまけ

bool = Boolean(0); // false
bool = Boolean(1); // true
bool = Boolean(2); // true
bool = Boolean(void(0)) // false