カテゴリ:JavaScript:記事一覧
このカテゴリの記事は、JavaScriptを使ったプログラミングについて、実際にやったことを中心に紹介します。
ブラウザのtextarea要素でテキストが選択されたとき、何らかの処理をおこないたいケースが時々あります。今回は、その方法についてお伝えします。
二つの文字列の相違点を知りたいときUNIX系ならdiffなどのコマンドが使用できます。しかしWindowsにはそんなコマンドありません。そこでブラウザでの文字列比較ツールの作成を最終目的として、JavaScriptでのテキスト差分検出を実装してみます。
プログラム言語には、値渡しと参照渡しという概念があります。 コード作成で重要な概念ですが、言語によって扱いが異なります。 そこで今回は、『JavaScriptの変数が値渡しか参照渡しか』ということについてお伝えします。
JavaScriptにはReflectというオブジェクトがあります。このオブジェクトはECMAScriptで標準組み込みオブジェクトとして定義されているのに、非常にマイナーです。そこで今回はReflectオブジェクトの使い方と存在意義についてお伝えします。
JavaScriptには標準でProxyオブジェクトが定義されています。「これって何だ?」ということで、Proxyオブジェクトの使い方について調べたので解説してみます。また、普通とは異なる動きをするProxyオブジェクトの仕組みについてもお伝えします。
JavaScriptのasyncとawaitというキーワードは、非同期処理を簡潔に記述することができます。しかしプログラムの流れを変えてしまう面もあり、理解するのが難しい機能でもあります。そこで今回は、asyncとawaitについて解説します。
JavaScriptで非同期するならPromiseオブジェクトが楽。ですがネット上での解説ってわざと難しく書いているように気がします。そこで今回は、Promiseオブジェクトの使い方を僕なりに解説してみます。
JavaScriptでプログラムをしていると非同期処理を頻繁に使用します。そのため非同期処理の知識が必要なのですが、知らなくてもコードは組めます。だからあまり気にしていなかったのですが、同じような言葉に並列処理というものがあることに最近気が付きました。そうなると違いが気になってきます。そこで並列処理と非同期処理および同期処理の違いについて、調べてみました。
JavaScriptを学んでいるとコールバックとイベントリスナーという言葉を耳にします。どちらも関数で、メソッドの引数として用いられているので違いが判らず、戸惑ってしまいます。そこで両者の違いを調べてみました。
SharedArrayBufferを使用すると異なるスレッド間で同じメモリ領域を共有することができます。使い方によっては効率の良いアプリケーションを作成できます。しかし脆弱性を指摘されていることから、ブラウザでの使用に制限がかかっています。
仕様書(ECMAScript)上では、JavaScriptは同期/非同期に関係なく、一つのスレッドで動作することになっていて、並列処理を行う機能は定義されていません。しかし現行のブラウザの多くは、Web WorkerというAPIが組み込まれていて、これを利用することで並行処理を実現することができます。この記事は、実際使ってみたら、とても簡単に並列処理できたよというお話です。
ブラウザなら入れ子となったタグをDOMで簡単に取得できます。しかしNode.jsなどのブラウザ以外のJavaScriptや、わざわざDOMに展開するまでもない場合などは、正規表現などでテキストのまま処理したいケースがあります。今回は、その方法を考えてみました。
JavaScriptにはテンプレートリテラルというものがあります。使いこなすとめちゃくちゃ便利なので、この機会に覚えておきましょう。
JavaScriptのreplaceメソッドを使用すると、文字列の一部を置換することができます。このreplaceメソッド内で外部ファイルを参照するなど、非同期メソッドをawaitキーワードで使用したいことがあります。しかしエラーが出て処理が止まってしまいます。どうしてでしょうか?対処方法はあるのでしょうか?