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っていらないように思う。
最後に
作りかけたまま、放置しているので公開できません。あしからず。