Javascriptの基礎を学ぶための10の重要な質問

Javascriptの基礎を学ぶための10の重要な質問

1. Javascript とは何ですか?

Javascript は Web 開発に使用されるプログラミング言語です。 JavaScript は Web のクライアント側で実行されます。

MDN によると、JavaScript (多くの場合、JS と略される) は、ファーストクラスの機能を備えた軽量で解釈型のオブジェクト指向言語であり、Web ページ用のスクリプト言語として最もよく知られていますが、多くの非ブラウザー環境でも使用されています。これは、動的で、オブジェクト指向、命令型、関数型プログラミング スタイルをサポートするプロトタイプ ベースのマルチパラダイム スクリプト言語です。

2. DOMとは何か

DOM は Document Object Model の略です。 Web ページが読み込まれると、ブラウザは HTML ファイルと CSS ファイルを使用して DOM を作成します。 DOM はノードと要素によって表されます。 JavaScript を使用して DOM を操作できます。ツリー構造です。

3. JSコードの実行方法

答えるべき質問は少し大きいです。しかし、それについて簡単に話すことはできます。 Javascript はブラウザ上で実行されます。ほぼすべてのブラウザには JavaScript エンジンが搭載されています。その中でもV8が最も人気があります。 Chrome は V8 エンジンを使用します。一方、Firefox は Spider-Monkey エンジンを使用します。

4. == と === の違い

簡単に言うと、== は 2 つの値が同じかどうかのみをチェックします。これらの値の型はチェックされません。次のコードを見てください。

if(2=="2"){
 コンソールログ("true")
} それ以外 {
コンソールログ("偽")
}

上記のコードは true をログに記録します。型をチェックしないので、2 と「2」は等しいとみなされるからです。

対照的に、=== はタイプと品質の両方をチェックします。例えば:

if(2==="2"){
 コンソールログ("true")
} それ以外 {
コンソールログ("偽")
}

これは false としてログに記録されます。 2 と「2」は値は同じですが、型が異なります。

5. Null と未定義

一般に、 null は空で存在しない値を表し、 undefined は宣言されているがまだ定義されていない値を表します。ただし、変数に明示的に undefined を設定することもできます。

var n;
console.log(typeof(n)); // 未定義

var n = null;
console.log(typeof(n)); // オブジェクト

興味深いのは、JS のオブジェクト タイプが null であることです。

6. Var と Let と Const

ES6 より前は、変数を宣言する唯一の方法は var でした。しかし、今では選択肢が増えました。

スコープという用語があります。スコープは、これらの変数を使用できる場所を指します。 var 宣言は、グローバル スコープまたは関数/ローカル スコープのいずれかになります。

Var をハングアップさせることは可能ですが、これについては数秒後に説明します。ただし、現在では変数の宣言には let が好まれます。コードの後半で変数を変更する必要がない場合は、const を使用できます。両者の違いを理解するには、以下の記事を読んでいただくと非常に役立つと思います。

7. 吊り上げ

JavaScript では、変数を宣言する前に使用することができます。変数と関数の宣言をコードの先頭に物理的に移動する概念は、変数巻き上げと呼ばれます。

console.log(num); // 宣言のみがホイストされたため、この段階では初期化が行われていないため、undefined が返されます。
var num; // 宣言
数値 = 6; 

それで、let 変数と const 変数は持ち上げられないのですか?答えはもっと複雑です。すべての宣言 (function、var、let、const、class) は JavaScript でホイストされますが、var 宣言は undefined で初期化されますが、let および const 宣言は初期化されないままになります。

8. グローバル変数とローカル変数

JavaScript では、スコープは 2 つの方法に分かれています。グローバルとローカル。

関数内で宣言された変数はローカル スコープと呼ばれます。この変数は関数外からはアクセスできません。対照的に、関数の外部で宣言された変数はグローバル スコープと呼ばれます。関数内でアクセスできます。

var general = "superhero" //グローバルスコープ
// ここのコードではスーパーヒーローは使えませんがジャンルは使えます
関数myFunction() {
  var superhero = "Batman"; // ローカルスコープ
  // ここのコードではスーパーヒーローとジャンルを使用できます
}

9. 終了

クロージャを使用すると、内部関数から外部関数のスコープにアクセスできるようになります。別の関数から関数を返すことによって作成できます。各インスタンスに対して閉じた環境を作成します。例えば:

関数 sum(x) {
  関数(y)を返す{
    x + y を返します。
  };
}

var add5 = sum(5);
var add10 = sum(10);

コンソール.log(add5(6)); // 11
コンソール.log(add10(6)); // 16

ここで、add5 と add10 は両方ともクロージャです。これらは同じ定義を共有しますが、異なる環境を保存します。

10. コールバック関数

MDN によれば、コールバック関数は別の関数に引数として渡され、その後、何らかのルーチンまたはアクションを完了するために外部関数内で呼び出される関数です。例えば

関数 greeting(名前) {
  console.log('Hello ' + 名前);
}

関数greetEmployee(名前,コールバック) {
  コールバック(名前);
}

従業員に挨拶します("ドワイト",挨拶);

ここでは、greeting 関数が greetingEmployee 関数内で使用されています。これをコールバック関数と呼びます。

この記事を読んでいただきありがとうございます。これが役に立つことを願っています。

これで、Javascript の基礎を学ぶ上で重要な 10 の問題についての記事は終了です。Javascript の基礎に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • JavaScript ドキュメント オブジェクト モデル DOM
  • JS の == と === の違いをご存知ですか?
  • JavaScript の未定義と null の相違例の分析
  • JavaScript es6 における var、let、const の違いの詳細な説明
  • Web面接におけるJS事前解析と変数プロモーションの違い
  • JavaScript におけるホイスティングの詳細説明(変数ホイスティングと関数宣言ホイスティング)
  • JavaScript でローカル変数をグローバル変数に変換する方法
  • JavaScript クロージャの説明
  • JavaScriptコールバック関数の詳細な理解

<<:  Docker swarm の簡単なチュートリアル

>>:  CSS3 border-radius 丸角の実装方法と使い方の詳しい説明

推薦する

CSS スティッキーフッタークラシックレイアウトの実装

スティッキーフッターレイアウトとは何ですか?一般的な Web ページのレイアウトは、通常、ヘッダー部...

デジタルテーブル特殊効果を実現するネイティブJS

この記事では、ネイティブ JS で実装されたデジタル時計エフェクトを紹介します。エフェクトは次のとお...

Linuxでユーザーが所属するグループを変更する方法

Linuxでユーザーが所属するグループを変更する1. ユーザーのグループを設定する usermod ...

docker コマンド例外「権限が拒否されました」の解決方法

Linuxシステムでは、dockerを新しくインストールし、次のようなコマンドを入力します。dock...

JavaScript ドラッグタイム ドラッグケースの詳細な説明

目次DragEvent インターフェースデータ転送インターフェースの概要DataTransfer の...

Vue+SpringBoot で Alipay サンドボックス決済を実装するためのサンプルコード

まず、Alipay サンドボックスから一連のものをダウンロードします。多くのブログで取り上げられてお...

ウェブページ制作TDは隠し表示もオーバーフロー可能

おそらく、この記事にこのようなタイトルを付けると、誰かがこう尋ねるでしょう。「なぜまだテーブルに注目...

MacでMysqlのルートパスワードを忘れた場合の解決方法

長い間コンピューターで mysql を使用していなかったので、パスワードを忘れてしまいました。でも、...

Vueフォームバインディングとコンポーネントの詳細な説明

目次1. 双方向データバインディングとは1. データの双方向バインディングを実装する必要があるのはな...

Kali Linux システムのバージョンを確認する方法

1. Kali Linuxシステムのバージョンを確認するコマンド: cat /etc/issue 2...

JavaScript でのプロキシの使用を理解するための記事

目次エージェントとは何かプロキシの基礎知識ハンドラオブジェクトのメソッドプロキシでできること参考文献...

Vue3は現在のルーティングアドレスを取得します

正解useRouterの使用: // ルーターパス: "/user/:uid" ...

JSはreduce()メソッドを使用してツリー構造データを処理します

目次意味文法例1. 初期値initが渡されない2. 初期値を渡す場合3. アレイの重複排除4. Re...

HarborをベースにしたDocker専用倉庫の構築方法

目次1. ハーバーの紹介1. ハーバーが民間倉庫を建設3. 港湾の維持管理4. Harborユーザー...

HTML に基づいてページを更新せずにフォーム送信を実装する

ページを更新せずにフォーム送信を実装するために Ajax を使用することは、プロジェクトでよく使用さ...