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

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

藏色散人
藏色散人転載
2023-01-06 16:25:212159ブラウズ

この記事では、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 はブロック スコープ内でのみアクセスできます

if(1){
    var a = 100;
    let b = 10;
    const c = 1;
}

console.log(a); // 100
console.log(b)  // 报错:b is not defined  ===> 找不到b这个变量
console.log(c)  // 报错:c is not defined  ===> 找不到c这个变量

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

var a = 100;
console.log(a); //控制台输出 100

var a = 10;
console.log(a); //控制台输出 10

let a = 100;
let a = 10;

//  控制台报错:Identifier 'a' has already been declared  ===> 标识符a已经被声明了。

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 までご連絡ください。