タグ

ブックマーク / blog.tojiru.net (3)

  • JavaScriptにおける演算子の前置と後置 - セミコロンの自動挿入を理解して前置派を擁護してみる

    JavaScriptに限った話ではありませんが、式の途中で改行するとき、演算子の後で改行する書き方と、演算子の前で改行する書き方があります。 var a = 1 + 2 + 3 + 4 ; var a = 1 + 2 + 3 + 4 ; 最後のセミコロンの位置にも流派があるかもしれませんが、ひとまず、便宜的に演算子後置スタイル、演算子前置スタイルとそれぞれ呼ぶことにします。 いや、別にどちらのスタイルで書いてもいいのですよ。ここで宗教論争をする気はありません。しかし個人的に昔、前置スタイルの書き方に抵抗があった時期がありまして、「前置は怖くない、使っても大丈夫なんだ」ということを説明してみます。 前置恐怖症 初心者向けの解説でも、「JavaScriptは文末のセミコロンを省略できる」ということが大抵は書いてあります。が、それしか書いてないことが多いのです。 昔の私は、これだけを読んで「Ja

    JavaScriptにおける演算子の前置と後置 - セミコロンの自動挿入を理解して前置派を擁護してみる
  • newを封印して、JavaScriptでオブジェクト指向する(1)

    以下はプロトタイプ的継承だけで一通りの機能を実現できる、という一つの例です。もちろん他にも書き方はありますし、newを使うのがよくないと主張しているわけではないです。 (誤解を生みそうな文体が混じっているようなので追記: 2011/5/14) 春ですし、少し初心者向けの記事を書きます。タイトル通り、JavaScriptのオブジェクト指向について。ちょっと長くなるので目次です。 クラス(に相当するオブジェクト)を作る オブジェクトからオブジェクトを作る(インスタンス化) 単一継承 多重継承 privateは諦めましょう 親のメソッドを呼ぶ コンストラクタ instanceofに対応する ダックタイピングのススメ JavaScript標準のオブジェクト指向といえばnewやらprototypeやらを書く必要がありますが、これらは書くのが面倒臭い上に気をつけないといけない点がたくさんあります。Ja

    newを封印して、JavaScriptでオブジェクト指向する(1)
  • 即時関数(function(){ ... })()の別の書き方いろいろ - 泥のように

    JavaScriptでよく使われるコード片に即時関数というものがあります。無名関数を宣言して即実行することで、ブロックスコープの存在しないJavaScriptにおいて擬似的にブロックスコープを再現します。 var a = "global"; (function(){ var a = "local"; alert(a); //local })(); alert(a); //global 一番有名なのはこの(function(){ ... })()の形式なのですが、なぜfunctionの外側にカッコが必要なのか不思議に思ったことはないでしょうか? ためしにfunction(){ ... }()と書いてみると、Syntax Errorが発生します。 なぜfunction(){ ... }()はSyntax Errorなのか JavaScriptにはfunction文とfunction式があって、

    即時関数(function(){ ... })()の別の書き方いろいろ - 泥のように
    misomakura
    misomakura 2011/04/24
    これはおもしろい。
  • 1