JavaScriptのthis参照 this参照はオブジェクトを参照する。 参照先はトップレベルコードと関数内で異なる。 基本的な規則は以下の通り。 トップレベルコードのthis参照はグローバルオブジェクトを参照 関数内のthis参照は関数雨の呼び出し方法で異なる 詳しくは別の記事に改めてまとめたい。 JavaScriptのオブジェクト JavaScriptのオブジェクトはキーと値の組のハッシュテーブルとみなすことができる。 値はプリミティブか、あるいは他のオブジェクトになるが、どちらの場合もプロパティと呼ばれる。 値は関数にすることができ、その場合はメソッドと呼ばれる。 JavaScriptでオブジェクトを作成するサンプルは以下の通り。 //空のオブジェクト // > undefined var person = {}; // > undefined //プロパティを追加する // >
jasmine-parameterizeというのを作りました。 背景 「パラメータだけ違って他が同じ」ようなテストを簡潔に書きたい場合があります。 これを実現するために「パラメータ」と「テスト本文」を切り分けるように書く仕組みが パラメタライズドテストってやつだと思っているんですが、この辺の理解は自信ないです。 このパラメタライズドテストを行うための機構がJasmineにはなくて、 プラグインも良さそうなのを見つけられなかったので自分で作りました。 (ちなみにQUnitにはプラグインあります) 簡単なfizzbuzzテストを例に取ります。 テストの書き方が主目的なのでfizzbuzzとは何かには触れません。 まず標準のJasmineだけで愚直に書くとこうなります。 describe('fizzbuzz()', function() { it('sample', function() { e
自分の作ったソフトウェアをオープンソースとして公開する。まだまだ敷居が高いようです。人気のソースコード共有サービスGithubも、無償で使う場合にはソースコードをオープンソースにする必要があるのですが、「GitHub 上で公開されているソースコードの半分はライセンス的に問題あり」という話もあるくらいです。 では、なぜオープンソースライセンスが、なかなか適用されないのでしょうか。 その理由としては、 オープンソースにしたくない オープンソースライセンスの適用方法が分からない といったことが考えられますが、前者は、Githubの利用条件に合わないので、そもそも無理があります。 さて、後者の「ライセンスの適用方法が分からない」ですが、前回、Githubのライセンス解説サイトを取り上げた時も、「ライセンスが分からない、めんどう」といったコメントが、いくつか見受けられました。ですから、ライセンス適用
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式があって、
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く