ホームページ > ウェブフロントエンド > jsチュートリアル > 中級者向け Javascript のすべて

中級者向け Javascript のすべて

Linda Hamilton
リリース: 2024-11-29 07:41:13
オリジナル
195 人が閲覧しました

All About Javascript For Intermediate

JavaScript とは:
JavaScript はオープンソースのプログラミング言語です。これは動的な Web ページの作成に役立ちます。ブラウザ言語としても使用できます。
クライアント側 (ブラウザ内) とサーバー側 (Node.js などの環境を使用) の両方で実行できます。
JavaScript は、複数のタスクを同時に処理するために不可欠な、イベント駆動型、ノンブロッキング、非同期プログラミングをサポートしています。

変数:
変数はデータを保存するコンテナです
変数の種類

  • var
  • させてください
  • 定数

演算子:
JavaScript 演算子は、さまざまな種類の数学的および論理的計算を実行するために使用されます。
演算子の種類

  • 算術演算 = ,-,/,%,*
  • 比較
  • 論理的

データ型
変数の型を定義します

プリミティブ データ型 = 値を値で保存します

  • 文字列
  • 番号
  • ビッグイント
  • ブール値
  • 未定義 = 変数を宣言しますが、値は定義されていません。データ型が未定義です
  • Null = これは割り当て値です。値を明示的に null に設定します。データ型はオブジェクトです
  • シンボル

非プリミティブ データ型 = 参照(アドレス)によって値を格納します

  • オブジェクト = 組み込みオブジェクト タイプは次のとおりです: オブジェクト、配列、日付、マップ、セット、intarray、floatarray、promise
  • 例:
  • null == 未定義は true ですが、null === 未定義は false です。

JavaScript のエクスポートとデフォルトのエクスポートの主な違い?
エクスポートのデフォルトは、モジュールから単一の値をエクスポートするために使用されるということです。
一方、名前付きエクスポートを使用したエクスポートは、複数の値をエクスポートするために使用されます

プリミティブ データ型と非プリミティブ データ型の主な違い?

  • プリミティブ型は事前定義されているのに対し、非プリミティブ型はプログラマによって作成されるということです。
  • 単一のデータ型値のみを保存したり、複数のデータ型値を保存したりできるプリミティブおよび非プリミティブ データ構造。 プリミティブ データ型はメモリに直接保存されますが、非プリミティブ データ型はメモリ内の値への参照として保存されます。
  • プリミティブ データ型は値によって渡され、非プリミティブ データ型は参照によって渡されます。
  • プリミティブ データ型は不変です。つまり、一度割り当てられた値は変更できません。非プリミティブ データ型は可変であり、変更できます。
  • 数値、文字列、ブール値はプリミティブ データ型の例であり、オブジェクト、配列、関数は非プリミティブ データ型の例です。

関数:
JavaScript 関数は、特定のタスクを実行するように設計されたコードのブロックです。

JavaScript は静的に型付けされた言語ですか、それとも動的に型付けされた言語ですか?
JavaScript は動的に型付けされる言語です。動的型付け言語では、
静的に型付けされた言語
とは対照的に、変数の型は実行時にチェックされます。 ここで、変数の型はコンパイル時にチェックされます。

値渡しと参照渡しについて説明しますか?
JavaScript では、プリミティブ データ型は値によって渡され、非プリミティブ データ型は参照によって渡されます。
プリミティブ データ型 = 文字列、数値、ブール値、null、未定義
非プリミティブ データ型 = オブジェクト、配列

JavaScript の厳密モードと JavaScript 厳密モードの特徴とは何ですか?
厳密な運用環境でコードや関数を作成できます。
その結果、デバッグが非常に簡単になります。

JavaScript のファクトリー関数とは何ですか?
複雑なロジックがあり、同じロジックを持つ複数のオブジェクトを何度も作成する必要がある場合、
関数内にロジックを一度記述すると、その関数をオブジェクトを作成するためのファクトリーとして使用できます。
これは、製品を生産する現実世界の工場と同じです。
ファクトリ関数はオブジェクトを返す関数です。

高階関数:
関数は他の関数を引数として取るか、関数を返します。
map、filter、reduce 関数はすべて HOF の例です。
高階関数は、イベント処理、データ変換 (マップやフィルターなど)、関数ファクトリーやデコレーターの作成などのタスクに役立ちます。

クロージャー:
クロージャは、関数が別の関数
内で定義されるときに作成されます。 そして、内部関数は外部関数のスコープ内の変数とメソッドへのアクセスを保持します
クロージャは、関数内にデータをカプセル化する手段を提供し、スコープ外からデータを隠しながらそのデータへの制御されたアクセスを可能にします。

コールバック:
別の関数の引数として使用される関数は、コールバック関数と呼ばれます。
コールバックは、別の関数が実行された後に実行される関数です。
非同期操作を実行したい場合のコールバック関数の使用例。

map() と forEach()
マップ()=>配列の各要素を反復処理し、各要素に変換関数を適用します。
元の配列は変更しません。変換された要素を含む新しい配列が作成されます。
forEach()=>配列の各要素を反復処理し、各要素に対して提供されたコールバック関数を実行します。
新しい配列を作成したり、既存の配列を変更したりしません。コールバック関数のみを実行します。

map() vs filter() vs reduce()
map() 新しい配列を返します
filter() は、map() に似ていますが、条件が true の場合は新しい配列も返します。条件を適用したい場合に使用します。
reduce() は配列から単一の値を返します。

このキーワード:
this キーワードの値は、関数を呼び出すオブジェクトによって常に異なります。

カレー:
n 引数の関数を n 関数に変換します。
部分適用を有効にするユースケース (複数の引数を取る関数があるが、そのうちの一部のみを修正し、他の引数は後で使用できるようにしておきたい場合)、
コードの再利用。
例:

function add (a) {
  return function(b){
    return a + b;
  }
}
add(3)(4)
ログイン後にコピー
ログイン後にコピー

通常の関数とアロー関数 ?
通常の機能:
これは関数を呼び出すオブジェクトを参照します
コンストラクターとして使用できます
関数宣言はホイストされます(ホスティングを許可)
アロー関数:
自分のこれを持っていません
コンストラクターとして使用することはできません
関数宣言はホイストされません (ホスティングは許可されません) // myfunc は関数ではありません

正常および三元状態 ?
3 項条件は、このコンテキストなしで参照を保存します。

JavaScript の exec () メソッドと test () メソッドの違いは何ですか?
test() と exec() は、JavaScript で使用される RegExp 式メソッドです。

外部 JavaScript を使用する利点は何ですか?
コードを再利用できます。
外部JavaScript(コードのモジュール化)でコードが読みやすくなる

プロトタイプ:
JavaScript プロトタイプ プロパティを使用すると、オブジェクト コンストラクターに新しいプロパティとメソッドを追加することもできます。
テスト用のユースケース

メモ化:
メモ化は、関数の戻り値がパラメーターに基づいてキャッシュされるキャッシュの形式です。
その関数のパラメーターが変更されていない場合、関数のキャッシュされたバージョンが返されます。

ドム:
DOM はドキュメント オブジェクト モデルの略です。 DOM は HTML 用のプログラミング インターフェイスです。
ブラウザが HTML ドキュメントをレンダリングしようとすると、DOM
が作成されます。 この DOM を使用すると、HTML ドキュメント内のさまざまな要素を操作または変更できます。

BOM:
ブラウザ オブジェクト モデルは BOM として知られています。これにより、ユーザーはブラウザを操作できるようになります。
ブラウザの初期オブジェクトはウィンドウです。

約束:
Promise は、JavaScript で非同期操作を処理するために使用されます。 Promise が使用される前は、非同期操作を処理するためにコールバックが使用されていました。
Promise オブジェクトには 4 つの状態があります -
保留中 - 約束の初期状態。
履行 - この状態は、約束が履行されたことを表します。
拒否 - この状態は、Promise が拒否されたことを表します。
Settled - この状態は、約束が拒否されたか履行されたことを表します。

非同期/待機:
これは Promise の上に構築されており、非同期コードを記述するためのより簡潔な方法を提供し、読み書きが容易になります。
async キーワードは同期関数を宣言するために使用され、await は Promise が解決されるのを待つために使用されます。

表現と構造
=>express は何らかの値を返します
例:

function add (a) {
  return function(b){
    return a + b;
  }
}
add(3)(4)
ログイン後にコピー
ログイン後にコピー

5 と myfun() は式である値を返します
アクションを指示および命令しますが、値を返さないステートメント
例: if、else、while はステートメントです
while(i

残りのパラメータとスプレッド演算子:
残りのパラメータは、個別の要素を配列に結合しました
スプレッド演算子は、配列を単一の要素に分割するために使用されます

ジェネレータ関数 ?
途中で停止し、停止したところから続行することができます。
ジェネレーター オブジェクトは next() というメソッドで構成されます。このメソッドが呼び出されると、最も近い yield ステートメントまでコードが実行され、yield 値が返されます。

call()、apply()、bind():
これらはすべて、オブジェクトをこのキーワードに割り当てるために使用されます(このキーワードに値を割り当てます)
関数のこのキーワードを目的のオブジェクトで操作したい場合の使用例
bind() メソッド は、呼び出されたときに this キーワードが指定された値 (オブジェクトなど) に設定される新しい関数を作成します。新しいオブジェクトを作成します。
call() と apply() はまったく同じ目的を果たします。 call() メソッドは、呼び出される関数のコピーを作成しません。
これらの動作の唯一の違いは、call() がすべてのパラメータが個別に渡されることを期待していることです。
一方、 apply() はすべてのパラメータの配列を期待します。

IIFE:
定義するとすぐに実行される、すぐに呼び出される関数。
例:

const x=5;
const y=myfun();
ログイン後にコピー

純粋関数:
同じ入力に対して同じ出力を生成します。これは、式のオペランドのデータ型が異なる場合に発生します。
外部状態または変数を変更しない関数

JavaScript は静的に型付けされた言語ですか、それとも動的に型付けされた言語ですか?
動的型付け言語では、静的型付け言語
とは対照的に、変数の型が実行時にチェックされます。 ここで、変数の型はコンパイル時にチェックされます。
例:
静的型

(function(){ 
  // Do something;
})();
ログイン後にコピー

ダイナミックタイプ

string name="salman"; 
// varaible has types
ログイン後にコピー

コアコイン:
あるデータ型から別のデータ型への値の自動変換。
文字列強制
数値を文字列に変換します
- 文字列を数値に変換します

NaN():
isNaN() 関数は、指定された値を Number 型に変換し、NaN と同等とします。

ASP スクリプトと JavaScript ?
ASP スクリプトはサーバー上で実行され、JavaScript はクライアントのブラウザ上で実行されます。
ASP スクリプトは、データベース クエリ、フォームの送信、ユーザー認証などの複雑なタスクを処理するために使用されるサーバー側の言語です。
一方、JavaScript は、アニメーション、ポップアップ ウィンドウ、フォーム検証など、Web ページ上でインタラクティブな要素を作成するために使用されるクライアント側の言語です。

未定義の値:
値は定義されていませんが、変数は存在します
オブジェクトにプロパティがありません

エスリント:
JavaScript コードの一般的な脆弱性のデバッグと修正に役立ちます

私のことをもっと知りたいなら、検索エンジンに sallbro と書いてください...

以上が中級者向け Javascript のすべての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート