カテゴリ:JavaScript:記事一覧
このカテゴリの記事は、JavaScriptを使ったプログラミングについて、実際にやったことを中心に紹介します。
僕が若いころ作成して史上最弱と友達に言われたリバーシをJavaScriptで作成してみます。悲しい思い出にリベンジするべく、今回は強いものにも挑戦します。
JavaScriptはオブジェクトのプロパティを参照したとき、オブジェクト内にそのプロパティが無いと、プロトタイプチェーンを参照します。その様子を観察してみようと思い、今回はネタ記事として簡単な検証コードを作成してみました。
JavaScriptにはcallとapplyというメソッドがある。あまり使わないなと思って理解することを放棄していたのだが、いい機会なので記事にしながら理解していこうと思う。
JavaScriptにはbindというメソッドがあって、コールバック関数内でthisを使用するときなどよく使っています。ですが僕の場合、サンプルで見たコードで使っていたから、マネして使っていただけでした。「これではいかん!」ということで、今更ですがbindについて調べてみました。
JavaScriptのプロパティは、オブジェクトリテラルや. (ドット)表記などで簡単に定義することができます。しかし書き込みを制御したいときなどもっと細やかな設定が必要なときは、属性についての知識が必要になります。
プログラム言語の関数とは一連の処理をひとまとめにして、簡単な記述で何度でも呼び出せるようにしたもの。JavaScriptにもありますね。しかし似たような機能でメソッドというものがあり、こちらも前述のことができます。では関数とメソッドの違いは親オブジェクトをthis値として受け取るかどうかです。
JavaScriptにはゲッターとセッターという機能があります。正直知らなくてもプログラムを作成できますが、他人のコードを見るとき困るので調べてみました。
JavaScriptにクラスが導入されて、やっとprivateなメソッドやプロパティを利用できると思ったら、できないらしい。今のところはクロージャの仕組みを利用するしかありません。ということで、自分なりに『クロージャの仕組みを利用したprivateメソッドおよびプロパティのテンプレート』を用意したいと思います。
【JavaScript】 JSにおけるprivate変数と定義のひな型パターンで従来のオブジェクトインスタンスでのprivate変数定義について紹介したので、ここではclass構文での定義をお伝えします。
thisは読み込み専用のため、上書きできません。しかしプロパティ追加はできます。『上書きでないのに、追加できるってどういうこと???』と思った方は、読んでください。
オブジェクト指向プログラミングにはカプセル化という概念があります。JavaScriptには他の言語のようなカプセル化に必要な構文がないのでクロージャの特徴を活かした手法でカプセル化を実現します。
javascript:void(0)を使用するとリンクタグの画面遷移を無効にできる。javascript:void(0)はvoid(0)をスクリプトとして実行する。リンク先がブラウザに拡張機能によりjavascript:void(0)に書き換えられてしまうこともある
JavaScriptにはクロージャーという概念がある。20年前のC言語プログラマな僕が、気が狂いそうになった原因である。僕は最近になって、ようやくわかってきた気がするので、忘れないうちに要点をまとめてみる。僕は最近になって、ようやくわかってきた気がするので、忘れないうちに要点をまとめてみる。

