418 I’m a teapot

httpのResponse codeでこんなのがあるそうな。

調べてみたらIETFのApril foolネタ。Hyper Text Coffee Control Protocolって面白いこと考えるよね。

AngularJSアプリケーション開発ガイド

Amazonのレビューを見てると結構低い評価になっていて思うところがあったのでツラツラっと書こうと思います。

Amazonのレビュー内容はだいたいあっていると思います。低い評価つけてるレビューを肯定するのもなんですが、あっているか?と問われればそうです、ですね。
この本に何を求めるか?というところだと思うんですよね。AngularJSを覚えるのに本ではなく公式サイトのDeveloper Guideを見ました。もちろん全部というわけではありませんが、全部読み切らなくても最低限作られる/読めるレベルにはなります。

Continue reading “AngularJSアプリケーション開発ガイド”

Footnotesを導入

記事を書いていると注釈をつけたくなる時が多々あります。文章作成能力の問題なのかは不明ですが、説明文をいれると文章がくどくなるな…と考え、雰囲気でわかるよね?ね?と自分を納得させています。

が、そんな心配ともこれでおさらば。

Continue reading “Footnotesを導入”

TypeScriptの”=>”はFunction Type以外にArrow Function Expressionがある

前回の記事「TypeScriptの”=>”って何?」でまるで「Function  Type(関数型)でしか使用しない」という記事を書いてしまったのですが、さっそく加筆修正してこちらでもう一つの用途について書こうと思います。早い段階で気付いてよかった。

型宣言以外では何に使うのか?という話ですが、その前にこのコードを見てください。このコードはVisual Studio ExpressでTypeScriptのテンプレートプロジェクトに入っているTypeScriptのコードです。(コードを表示しているところにCoffeeScriptとなっているのは気にしないでください。)

class Greeter {
    element: HTMLElement;
    span: HTMLElement;
    timerToken: number;

    constructor(element: HTMLElement) {
        this.element = element;
        this.element.innerHTML += "The time is: ";
        this.span = document.createElement('span');
        this.element.appendChild(this.span);
        this.span.innerText = new Date().toUTCString();
    }

    start() {
        this.timerToken = setInterval(() => this.span.innerHTML = new Date().toUTCString(), 500);
    }

    stop() {
        clearTimeout(this.timerToken);
    }

}

window.onload = () => {
    var el = document.getElementById('content');
    var greeter = new Greeter(el);
    greeter.start();
};

このコード、”=>”の右側に戻り値の型が入っている式は1つも存在しません。どこにいった関数型!?
で、これなんですが、更に調べてみるとArrow Function Expressions(直訳して「矢関数式」「矢印関数式」「アロー関数式」?)とかArrow Function Syntaxというもの。ECMAScript 6で提案されている実装です。TypeScriptはECMAScript 6をベースにしているのでこういうのも(いい意味で)入ってきます。

で、何がどうなるのか?ですが、だいたい以下の特徴があります。

  • 関数式をより短く記述できる
  • thisをthisとして扱える

2つ目は特に重要ですが、まずは順に説明します。

Continue reading “TypeScriptの”=>”はFunction Type以外にArrow Function Expressionがある”