StringUtils.jsとstring_prototype.js

先週Javaコミュの方々とお話していた時に「こんなの作ってるのでそろそろ公開しますよー。」とか言っていたのですが、なんか飽きてきた(私の悪癖)ので触りだけでも書いておこうと思います。
まず、事の発端は仕事でお世話になっているYさんとのこんな会話でした。
「StringUtilsのJavascript版とかあったら便利かもねー。」
で、「んじゃあ、暇をみながら作ってみますかー」という感じ。

StringUtils.js

var StringUtils =  {
	isEmpty : function(str) {
		if (str == null || str.length == 0){
			return true;
		}
		return false;
	}
}

Javascriptは上記のような感じで、使用方法は以下。

<input type="text" value="" id="test"><br>
<input type="button" value="test" onclick="alert(StringUtils.isEmpty(document.getElementById('test').value))">

という、あえてJavaライクな書き方を選択しました。当初は「これがJavaプログラマが書いたJavascriptっぽくってよくね? 」とか思ってたんですが、作成した当の本人(つまり私)が「いちいちStringUtilsって書くのがうざい」と思うようになったんですね。
なので「Stringオブジェクトを拡張すれば楽っぽい」と思い当たりこうしてみました。
名づけてstring_prototype.js

string_prototype.js

String.prototype.isEmpty = function() {
	return (this == null || this.length == 0) ? true : false; 
}

で使用方法がこう。

<input type="text" value="" id="test"><br>
<input type="button" value="test" onclick="alert(document.getElementById('test').value.isEmpty())">

スッキリ。

で、Javascriptを書き始めて気が付いた悩む点。

  • 比較演算子の扱い
    • '=='と'==='とどっちを使えばいいか?
      • '=='を使っとけば型の制約がないのでそれでよくない?
  • varの扱い
    • とりあえず変数宣言にはvarってつけたほうが無難?(よくわかってない)
  • thisの扱い
    • Javaと微妙に違う気がする(よくわかってない)
  • nullの扱い
    • 上記のようなJavascriptを組んで使用する場合、nullっていらないように思う。

最後に

作りかけたまま、放置しているので公開できません。あしからず。