タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

JavaScriptに関するarebouyaのブックマーク (5)

  • Google流 JavaScript におけるクラス定義の実現方法

    目次 2019年追記 はじめに クラス実現のために必要な JavaScript の言語仕様 function this call new 演算子 prototype チェーン プロパティ: prototype Google Closure 流のクラスの実現方法の概要 クラスの宣言とコンストラクタの定義 メンバ変数 (インスタンス変数) メソッド定義と呼び出し private, protected 継承 プロトタイプチェーンを利用してメソッドを親クラスから引き継ぐ 親クラスのコンストラクタの呼び出し メソッドオーバーライドと親クラスのメソッドの呼び出し 多重継承 abstract, interface inherits の実際のコード 良くないクラス実現方法 ES6 のクラス 2019年追記 この記事ではclassが導入されたES6以前のJavaScriptでどのようにクラスに相当するものを

  • Javascriptのbind関数と部分適用 〜 JSおくのほそ道 #015 - Qiita

    こんにちは、ほそ道です。 今回はFunction.prototype.bind関数を取り上げます。 このbind関数も前回のcall/apply関数同様、開発者の意図が反映される関数かと思います。 目次はこちら bind関数の仕様 bind関数はFunction.prototypeに属し、新たな関数を生成して返します。 下記で仕様を見ていきます。 その1:thisを強制変更する 第一引数は関数内で参照されるthisを置換えます。 // 人間 function Man(name) { this.name = name; this.greet = function() { console.log("Hello, my name is " + this.name); }; } // ネコ function Cat(name) { this.name = name; } // 人間の挨拶 var

    Javascriptのbind関数と部分適用 〜 JSおくのほそ道 #015 - Qiita
  • Javascriptのcall/apply関数のプロっぽい使い方 〜 JSおくのほそ道 #014 - Qiita

    こんにちは、ほそ道です。 今回からしばしJavascriptの基的な処理と概念を整理していきます。 頻出でありながら詳細を忘れてしまいがちなものや、有効な使い方がわからなくなりがちなもの等をまとめていきます。 今回はcallとapplyを取り上げます。 目次はこちら 基仕様 callもapplyもFunctionオブジェクトのprototypeであり、用法が良く似ています。 関数.call()や関数.apply()という実行の仕方となり、実際に処理されるのは呼び出し側の関数です。馴れないと直感的じゃないかもしれませんが、何度かやってるとすぐ馴れると思います。 基1:thisを指定する 第一引数は関数内で参照されるthisとなり、無理矢理thisを変更出来ます。 なんでもできちゃうJavascriptらしい処理です。 下記の例ではcallとapplyは同じ動作となります。

    Javascriptのcall/apply関数のプロっぽい使い方 〜 JSおくのほそ道 #014 - Qiita
  • JavaScriptの「this」は「4種類」?? - Qiita

    javascriptの「this」は「4種類」?? この記事ではベースとなる4種類の「this」を紹介します。 実際は4種類ではないのですが、 このベースの4種類を理解できれば他もすぐに理解できます。 thisの4種類のパターン 1:メソッド呼び出しパターン 2:関数呼び出しパターン 3:コンストラクタ呼び出しパターン 4:apply,call呼び出しパターン ここで重要なのは「呼び出し元」をみることです。 なぜなら「呼び出し元」に「this」は左右されるからです。 メソッド呼び出しパターン これはもう一番直感的にわかりやすいです。 説明はいらないんじゃないかという感じなのですが、 一応ソースを。。 //メソッド呼び出しパターン var myObject = { value: 10, show: function() { console.log(this.value); } } myObj

    JavaScriptの「this」は「4種類」?? - Qiita
  • JavaScript殺法 11のリファクタリング - @ledsun blog

    JavaScriptを書いていてぶち殺したくなった時によく使うリファクタリングです。 1.定義順を整理 JavaScriptパターンの5.4.1 モジュールパターンの開示を参考に、var、処理、API公開の順に並べなおす。 function () { //宣言 var hoge = 'hoge', fuga = ''; //処理 fuga = foge; //APIの公開 return { hoge: hoge, fuga: fuga }; } 2.戻り値をオブジェクトにする 戻り値を増やしたいときにまずオブジェクトに変えてから、値を増やす。 型付けが弱い言語は二つ以上の値を返すのが当たり前なのが凄い。 function () { return { hoge: hoge, fuga: fuga }; } 3.戻り値をオブジェクトでなくす 「戻り値をオブジェクトにする」の逆。 戻り値を一つし

    JavaScript殺法 11のリファクタリング - @ledsun blog
  • 1