ホームページ > ウェブフロントエンド > jsチュートリアル > var、let、const の違いについて話しましょう (コード例)

var、let、const の違いについて話しましょう (コード例)

藏色散人
リリース: 2023-01-06 16:25:33
転載
2187 人が閲覧しました

この記事では、JavaScript に関する関連知識をお届けします。主に、var、let、const の違い、および ECMAScript と JavaScript の関係について紹介します。興味のある方はぜひご覧ください。皆さんのお役に立てば幸いです。 。

var、let、const の違いについて話しましょう (コード例)

#JavaScript とは何ですか?

まず、ECMAScript と JavaScript にはどのような関係があるのでしょうか?

    ECMAScript は、国際的に採用されている標準化されたスクリプト言語です。
  • JavaScript は ECMAScript、DOM、BOM で構成されます。これは簡単に理解すると、ECMAScript は JavaScript の言語仕様であり、JavaScript は ECMAScript の実装および拡張です。

#var、let、const の違いは何ですか?

#1. var で宣言された変数は存在します変数プロモーション ですが、let と const

console.log(a); // undefined  ===>  a已声明还没赋值,默认得到undefined值
console.log(b); // 报错:b is not defined  ===> 找不到b这个变量
console.log(c); // 报错:c is not defined  ===> 找不到c这个变量
var a = 100;	
let b = 10;
const c = 10;
console.log(a);//a=100
ログイン後にコピー

# には変数プロモーションがありません

## 2. let と const はブロック スコープ内でのみアクセスできます

3. Let と const は同じスコープ内で同じ名前の変数を宣言できませんが、var can

4. Const は定数を定義するため変更できませんが、オブジェクトの定義時にオブジェクトの属性値は変更できます

 const a=2
 a=3
 console.log(a)  //控制台报错
ログイン後にコピー
const person = {
    name : 'make',
    sex : '男'
}

person.name = 'test'

console.log(person.name)    //运行发现控制台没有报错,且 person.name 被成功修改
ログイン後にコピー
? ? ? ?どうしたの?

オブジェクトは参照型であるため、実際に保存されるのは

オブジェクト
のポインタのみであり、

オブジェクトのプロパティを変更すると、オブジェクトのポインタは変更しないので、この状況は正常に変更されます。つまり、ポインタが変更されない限り、const で定義された参照型が許可されます。 次に、ポインタを変更して、

新しいオブジェクトを指すようにします
、そして最後に

エラーが報告されます

const person = {
  name : 'make',
  sex : '男'}person = {
  name : 'test',
  sex : '男'}console.log(person.name)  //控制台报错
ログイン後にコピー

5. 概要

var 定義の
    変数
  • 変数プロモーション、ブロックの概念はありません,クロスブロックアクセス可能

    let で定義された
  • 変数
  • はブロック スコープ内でのみアクセスでき、同じ名前の変数は宣言できません。

    const は、 定数

    を定義するために使用されます。使用する場合、
  • は初期化する必要があります
  • (つまり、値を割り当てる必要があります)。同じ名前は宣言できません。

    はブロック スコープ内でのみ にアクセスでき、 を変更できませんが、オブジェクトの定義時にオブジェクトのプロパティ値を変更できます。 #関数をまたいでアクセスすることはできません

## 推奨学習: 「JavaScript ビデオ チュートリアル

以上がvar、let、const の違いについて話しましょう (コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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