-
sinon.jsの用途は何ですか?
SinonJSは、スタンドアロンのテストスパイ、スタブ、モックを提供します。これは、単体テスト用のオブジェクトモックを作成するために使用できるライブラリです。 スパイ −実行を追跡するために使用できる偽の関数。 スタブ -関数の置き換え。必要なものを返すか、複数のシナリオをテストできるように関数を機能させることができます。 モック −偽の方法 これらのオブジェクトはすべて、コードの単体テストに役立ちます。
-
URLをJavaScriptのホスト名とパスに解析するにはどうすればよいですか?
Window.location読み取り専用プロパティは、ドキュメントの現在の場所に関する情報を含むLocationオブジェクトを返します。これを使用して、URLをホスト名とパスに解析できます。 Locationインターフェースは、リンク先のオブジェクトの場所(URL)を表します。プロパティはロケーションオブジェクトで利用できます- Location.href −これはURL全体を含むDOMStringです。変更された場合、関連するドキュメントは新しいページに移動します。関連するドキュメントとは異なるオリジンから設定できます。 Location.protocol −最後の「:」を含
-
javascriptのDeferreds、Promises、Futuresの違いは何ですか?
未来は約束と同じ古い用語です。 約束は、まだ知られていない値を表します。これは、Promiseが作成されたときに必ずしもわからない値のプロキシとしてよりよく理解できます。 延期は、まだ完了していない作業を表します。延期(通常はPromiseを拡張します)はそれ自体を解決できますが、Promiseは解決できない場合があります。これは、常に成功するだけの約束と考えることもできます。 promiseは、最初は不明な結果のプレースホルダーですが、deferedは、値をもたらす計算を表します。
-
ページを更新せずにJavaScriptを使用してwindow.location(URL)からハッシュを削除するにはどうすればよいですか?
履歴APIのreplaceStateメソッドを使用して、ハッシュを削除できます。 replaceState()メソッドは、現在の履歴エントリを変更し、メソッドパラメータで渡された状態オブジェクト、タイトル、およびURLに置き換えます。このメソッドは、ユーザーの操作に応じて現在の履歴エントリの状態オブジェクトまたはURLを更新する場合に特に便利です。 ハッシュを削除するには、-を使用できます history.replaceState(null, null, ' ');
-
JavaScriptで深くネストされた値に安全にアクセスする
lodashのgetメソッドを使用して、任意のレベルのプロパティを安全に取得できます。第1レベルのプロパティを取得するのは非常に簡単です。ネストされたプロパティへのアクセスには注意が必要です。lodashなどのテスト済みのライブラリを使用する必要があります。 次の方法で、深くネストされたオブジェクトにアクセスできます- 例 let _ = require("lodash"); let obj = { a: { b: { foo: &quo
-
JavaScriptでドット表記文字列を使用してオブジェクトのプロパティを安全に設定する
lodashのsetメソッドを使用して、任意のレベルでプロパティを安全に設定できます。第1レベルのプロパティの設定は非常に簡単です。ネストされたプロパティへのアクセスには注意が必要です。lodashなどのテスト済みのライブラリを使用する必要があります。 次の方法で、深くネストされたオブジェクトを設定できます- 例 let _ = require("lodash"); let obj = { a: { b: { foo: "tes
-
匿名関数を使用したJavaScriptカプセル化
オブジェクト指向プログラミング言語では、プライベートフィールドを使用してデータを隠すことができます。これらを使用して、クラスの内部を非表示にします。 JSには、内部の仕組みを非表示/カプセル化するためのビルドサポートはありません。 JSでカプセル化できる匿名関数があります。例を見てみましょう- 例 const HIDDEN_CONST = 100; function fnWeWantToHide(x, y) { return (x + y) * HIDDEN_CONST } console.log(fnWeWantToHide(1, 2)) 上記のコードをオープン
-
JavaScriptを使用して選択ボックス要素の値をプログラムで設定するにはどうすればよいですか?
以下を使用して、Javascriptを使用して選択ボックスの値を設定できます。次の選択ボックスがあるとします- <select id="my-select" value="1"> <option value="1">Select</option> <option value="2">Apple</option> <option value="3">
-
ライブラリを使用せずにJavaScriptで日付をインクリメントしますか?
JSで日付を1日追加するには、setDate関数が最適な方法です。 Dateプロトタイプで次の関数を作成して、日付に日を追加できます。 例 Date.prototype.addDays = function(days) { let d = new Date(this.valueOf()); d.setDate(d.getDate() + days); return d; } let date = new Date(); console.log(date.addDays(1)); これは翌日ログに記録されます。
-
MEAN.jsとMEAN.ioの違いは?
MEANは、MongoDB、Express、Angular、およびNode.jsの頭字語です。 MEAN.jsとMEAN.ioは基本的に同じものであり、どちらもスキャフォールドアプリケーションであるか、上記の4つを使用するための基本的なセットアップです。これらのライブラリ/ツールには、すでにこれらが設定されています。 これらにより、基本的なインフラストラクチャの設定に時間を費やすのではなく、アプリケーションの構築に集中できます。
-
ブラウザのウィンドウ/タブを閉じたときにlocalStorageアイテムを削除するにはどうすればよいですか?
ブラウザを閉じるときにlocalStorageデータをクリアするには、window.onunloadイベントを使用してタブを閉じるかどうかを確認します。 この例のために、グローバルとしてMyStorageというローカルストレージオブジェクトがあるとします。次に、イベントハンドラーを記述できます- 例 window.onunload = () => { // Clear the local storage window.MyStorage.clear() }をクリアします これにより、タブ/ウィンドウを閉じるときにローカルストレージが
-
JavaScriptでonchangeイベントを手動でトリガーするにはどうすればよいですか?
dispatchEventメソッドを使用して、個々の要素にイベントをディスパッチできます。 onChangeイベントを使用した要素テストがあるとします- <input id="test" type="text"/> イベントハンドラ- document.querySelector('#test').addEventListener('change', () => console.log("Changed!")) イベントを手動でトリガーする- const e = new Event
-
Javascriptでオブジェクトの配列をグループ化するための最も効率的な方法
jsのオブジェクトの配列のキーでグループ化する最も効率的な方法は、reduce関数を使用することです。 reduce()メソッドは、配列の各要素に対して(指定した)レデューサー関数を実行し、単一の出力値を生成します。 例 const people = [ { name: 'Lee', age: 21 }, { name: 'Ajay', age: 20 }, { name: 'Jane', age: 20 } ]; function groupBy(objectArr
-
JavaScriptを使用して画像をデータURIに変換する
javascriptを使用して画像をHtmlページタグからデータURIに変換するには、最初にキャンバス要素を作成し、その幅と高さを画像と同じに設定し、画像を描画して、最後にtoDataURLメソッドを呼び出す必要があります。 これにより、画像のbase64でエンコードされたデータURIが返されます。たとえば、IDがmy-imageの画像がある場合は、次の-を使用できます。 例 function getDataUrl(img) { // Create canvas const canvas = document.createElement(
-
JavaScriptの無名関数とは何ですか?
関数式は、関数宣言と似ており、同じ構文を持っています。「名前付き」関数式(たとえば、式の名前が呼び出しスタックで使用される場合があります)または「無名」関数式を定義できます。 無名関数式の例(名前は使用されていません)- var myFunction = function() { // Function code } この関数は、それを参照する変数名を使用して呼び出すことができます- myFunction() 結論として、無名関数は保存されないが変数に関連付けられている関数です。匿名関数は、標準関数と同じように、入力を受け入れて出力を返すことができます
-
Javascriptの矢印関数
MDNによると、矢印関数式は、通常の関数式の構文的にコンパクトな代替手段ですが、this、arguments、super、またはnew.targetキーワードへの独自のバインディングはありません。矢印関数式はメソッドとしては不適切であり、コンストラクターとして使用することはできません。 JavaScriptの通常の関数と矢印関数には3つの微妙な違いがあります。 このバインディングを所有していません 矢印関数には独自の値はありません。矢印関数内のこの値は、常に囲んでいるスコープから継承されます。 例 this.a = 100; let arrowFunc = () => {t
-
Lodashライブラリの.extend()/ .assign()と.merge()の違い。
割り当て/拡張は、ソース内の各プロパティを取得し、その値をそのまま宛先にコピーします。プロパティ値自体がオブジェクトである場合、それらのプロパティを再帰的にトラバースすることはありません。これは、浅いコピー/クローン作成とも呼ばれます。オブジェクト全体がソースから取得され、宛先に設定されます。 Mergeはソース内の各プロパティを取得し、そのプロパティがオブジェクト自体であるかどうかを確認します。その後、再帰的にダウンし、子オブジェクトのプロパティをソースから宛先にマップしようとした場合。 例 let _ = require('lodash'); let destinatio
-
lodashとunderscoreの違いは何ですか?
lodashとunderscoreはどちらも、配列、数値、オブジェクト、文字列などの操作をはるかに簡単にするutilsを提供することにより、JavaScriptを簡単にするユーティリティライブラリです。これらのライブラリは-に最適です 配列、オブジェクト、文字列の反復 値の操作とテスト 合成関数の作成 どちらも機能ライブラリです。 Lo-DashはUnderscoreのフォークであり、ドロップインの代替として機能するのに十分なUnderscoreのAPIに準拠しています。しかし、内部的には完全に書き直されており、Underscoreが提供していない多くの機能も追加されて
-
JavaScriptの長所と短所
JavaScriptの利点 スピード。クライアント側のJavaScriptは、クライアント側のブラウザ内ですぐに実行できるため、非常に高速です。外部のリソースが必要でない限り、JavaScriptはバックエンドサーバーへのネットワーク呼び出しによって妨げられません。 シンプルさ。 JavaScriptの習得と実装は比較的簡単です。 人気。 JavaScriptはウェブ上のあらゆる場所で使用されています。 相互運用性。 JavaScriptは他の言語とうまく連携し、さまざまなアプリケーションで使用できます。 サーバーの負荷。クライアントサイドになることで、Webサイ
-
JavaScriptでオブジェクトをコピーするためのさまざまな手法
オブジェクトを任意の言語でコピーするには、ディープコピーとシャローコピーの2つの方法があります。 浅いコピーと深いコピーは言語に依存しません。浅いコピーは可能な限り複製しません。コレクションの浅いコピーは、要素ではなく、コレクション構造のコピーです。浅いコピーで、2つのコレクションが個々の要素を共有するようになりました。 例 let innerObj = { a: 'b', c: 'd' } let obj = { x: "test",