JavaScript でプログラミングすると、ほかの言語よりタイポによるバグの発生が多いような気がする。しかし、新言語をつくるより、JavaScript の予約語の一部を略記できるようになったらタイポによるバグは減少するような気がする。
1.まず頻繁に使う予約語でタイポを起こしやすいものの筆頭は function だ。これは CoffeeScript の解決法が一番だ。ラムダ記法を利用するのだ。つまり function foo (x) { ... } は foo (x) -> { ... } にする。 foo = function (x) { ... } は foo = (x) -> { ... } にする。 無名関数は (x) -> { ... } にする。 2.var 宣言をやめて関数のなかの変数は全て局所変数とする。スコープの中から外の変数を参照するときだけ outer 宣言をする。 var a = "hello"; function () { var b = "world"; return a + b }; は、 a = "hello"; funciton () { outer a; b = "world"; return a + b }; にする。 3. 文末の ; を廃止して、文の区切りは改行にする。行を続けたいときは明示的に \ を行末に置く。 a = "hello"; b = "world"; は a = "hello" b = "world" とする。また、行を折り返すときは、 a = "hello" + \ "world" とする。 4. Array.prototype.map 関数を多用する。map 関数を使うと配列の処理に不要な for ループや index を使わずに済む。 [1,2,3].map(function(x) { return x*x }); これも次のように書けると嬉しい。 [1,2,3].map((x) -> {x*x}); 5. 整数の配列を範囲指定で定義できるようにする。 [1..3] => [1,2,3] 6. オブジェクトのメソッドはオブジェクトを返すようにすると次の例のようにドット記法の連鎖が可能になる。 [4,1,5].sort().reverse(); 例えば次のようになる。 function MyClass(name, age) { this.name = name; this.age = age; } MyClass.prototype = { getage: function (age) {this.age = age; return this}, show: function() {return this.name + " " + this.age} } a = new MyClass("Tom", 30); b = a.getage(40).show(); d_ocument.write(b); 7. 比較的大きいライブラリの場合は全体を無名関数でくるんで、オブジェクトを返すようにすると本体の名前空間を汚さないので、使いまわしがきく。 library = (function () { ... ; return obj; })(); library.anyMethod(); ... このように、新しい言語を作らなくても、予約語の略記法を定めるだけで、JavaScript はずいぶん使い勝手がよくなるような気がする。 もっとも、現状では CoffeeScript を利用すればいいだけの話だが。
by tnomura9
| 2016-01-25 08:01
| JavaScript
|
Comments(0)
|
カテゴリ
新型コロナウイルス 主インデックス Haskell 記事リスト 圏論記事リスト 考えるということのリスト 考えるということ ラッセルのパラドックス Haskell Prelude Ocaml ボーカロイド 圏論 jQuery デモ HTML Python ツールボックス XAMPP Ruby ubuntu WordPress 脳の話 話のネタ リンク 幸福論 キリスト教 心の話 メモ 電子カルテ Dojo JavaScript C# NetWalker ed と sed HTML Raspberry Pi C 言語 命題論理 以前の記事
最新のトラックバック
最新のコメント
ファン
記事ランキング
ブログジャンル
画像一覧
|
ファン申請 |
||