ホームページ > ウェブフロントエンド > フロントエンドQ&A > es6 は var を使用して変数を宣言できますか?

es6 は var を使用して変数を宣言できますか?

青灯夜游
リリース: 2022-04-11 16:07:15
オリジナル
1859 人が閲覧しました

es6 は var を使用して変数を宣言できます。 Var は変数を宣言するためのキーワードです。var キーワードを使用して宣言された変数には、グローバル スコープと関数スコープの 2 つのスコープがあります。var は変数プロモーションをサポートしているため、var で宣言されたグローバル変数はスクリプト コード全体に含まれます。var を使用して宣言された有効なローカル変数関数全体を通じて有効です。

es6 は var を使用して変数を宣言できますか?

このチュートリアルの動作環境: Windows 7 システム、ECMAScript バージョン 6、Dell G3 コンピューター。

ES5 では、変数を宣言する方法が var コマンドと function コマンドの 2 つだけです。

ES6 let および const コマンドの追加に加えて、変数を宣言するには、import コマンドと class コマンドの 2 つの方法があります。

つまり、ES6 では変数を宣言する方法が 6 つあります。

  • キーワード var を使用して変数を宣言します。

  • 使用します。キー ワード関数を使用して変数を宣言します

  • キーワード const を使用して変数を宣言します

  • キーワード let を使用して変数を宣言します

  • class キーワードを使用して変数を宣言します。

  • キーワード import を使用して変数を宣言します。

変数を宣言します。キーワード var

var は変数を宣言するためのキーワードです。宣言方法:

var 变量名;
ログイン後にコピー

いくつかの例:

var str;  //用来存储字符串
var age;  //用来存储年龄
var prePage;  //用来存储上一页
ログイン後にコピー

変数を定義するとき、次の変数を定義できます。複数の変数を定義する場合は、次の例に示すように、カンマを使用して変数名を区切る必要があります:

var a, b, c;    // 同时声明多个变量
ログイン後にコピー

変数の定義後、値がない場合が変数に割り当てられている場合、これらの変数は初期値を割り当てます - 未定義になります。

変数を定義した後、等号 = を使用して変数に値を割り当てることができます。等号の左側は変数の名前で、等号の右側は次の例に示すように、変数に割り当てる値:

var num;    // 定义一个变量 num
num = 1;    // 将变量 num 赋值为 1
ログイン後にコピー

さらに、次の例に示すように、変数を定義するときに変数に値を割り当てることもできます。

注:


  • var で定義された変数は変更できます。初期化されていない場合は、unknown が出力され、エラーは報告されません。

  • var で宣言された変数はウィンドウ上にあります。変数を宣言するには let または const を使用してください。この変数はウィンドウ上には配置されません。

  • 多くの言語にはブロックレベルのスコープがありますが、JS にはありません。変数の宣言に var を使用し、スコープを分割する関数が使用されます。中括弧 "{}" は var のスコープを制限できません。したがって、var で宣言された変数には次のような効果があります。変数のプロモーション

  • ##var で宣言された変数のスコープはグローバルまたは関数レベルです
  • #幅広い知識:


let キーワードと const キーワードによる変数の宣言

2015 年以前は、JavaScript は var キーワードを介してのみ変数を宣言できました。ECMAScript6 (ES6) のリリース後は、2 つの新しいキーワードが追加されました。変数を宣言するために let と const が追加されました。その中には:

let キーワードを使用して宣言された変数は、それらが配置されているコード内でのみ使用されます。ブロック内で有効です (ローカル変数)、このコード ブロックでは、同じ名前の変数を繰り返し宣言することはできません。
  • const キーワードは let と同じ機能を持ちますが、const キーワードを使用します。宣言された変数には次のような機能もあります。もう 1 つの特徴は、const キーワードで定義された変数は一度定義すると変更できないことです (つまり、const キーワードで定義された変数は定数です)。
  • 注: IE10 以下のバージョンでは、let キーワードと const キーワードはサポートされていません。
サンプル コードは次のとおりです。

var num = 1;                // 定义一个变量 num 并将其赋值为 1
var a = 2, b = 3, c = 4;    // 同时定义 a、b、c 三个变量并分别赋值为 2、3、4
// var a = 2,               // 为了让代码看起来更工整,上一行代码也可以写成这样
//     b = 3,
//     c = 4;
ログイン後にコピー

var、let、const のスコープ

var を使用して宣言された変数のスコープには、グローバルスコープと関数スコープ; let と const を使用して宣言された変数には、グローバル スコープ、ローカル スコープ、およびブロック レベル スコープがあります。

var は変数のプロモーションをサポートしているため、var 変数のグローバル スコープはページ全体のスクリプト コードに対して有効ですが、let と const は変数のプロモーションをサポートしていないため、let 変数と const 変数のグローバル スコープはページ全体の宣言文の先頭からスクリプトコードの末尾までの全領域と、宣言文より前の領域は無効となるスクリプトコードを指します。

同様に、var は変数のプロモーションをサポートしていますが、let と const は変数のプロモーションをサポートしていないため、var を使用して宣言されたローカル変数は関数全体で有効ですが、let と const を使用して宣言されたローカル変数は関数の先頭から有効です。宣言文から関数の末尾までが有効となります。ローカル変数とグローバル変数が同じ名前である場合、関数スコープ内ではローカル変数がグローバル変数を上書きする、つまり、ローカル変数は関数本体内で機能しますが、関数本体外では機能することに注意してください。グローバル変数は機能し、ローカル変数も機能します。変数は無効であり、ローカル変数を参照すると構文エラーが発生します。

キーワード function を使用して変数を宣言します

let name = "小明";      // 声明一个变量 name 并赋值为“小明”
let age  = 11;          // 声明一个变量 age
let age  = 13;          // 报错:变量 age 不能重复定义
const PI = 3.1415       // 声明一个常量 PI,并赋值为 3.1415
console.log(PI)         // 在控制台打印 PI
ログイン後にコピー

add という名前の新しい変数を宣言し、それに関数定義を割り当てます
    の間の内容
  • {} は add
  • 関数内のコードは実行されず、後で使用するために変数に保存されるだけです。 、
  • # というキーワードを使用して変数を宣言します。 class

class については、後ほど別記事で詳しく紹介しますので、こちらでご紹介します。それについて簡単に説明しましょう: まず、ES5 のコンストラクターを見て、次に ES6 クラスを使用してそれを実装します:

function add(a) {
  var sum = a + 1;
  return sum;
}
ログイン後にコピー

ES6 クラスの記述方法を見てみましょう:

 class Interest {
    constructor( x, y, e, z ){
      this.x = x;
      this.y = y;
      this.e = e;
      this.z = z;
    }
    MyInterest(){
      let arr = [];
      console.log(`我会${[...arr,this.x,this.y,this.e,this.z]}!`);
    }
  }
  let GetInterest = new Interest('唱','跳','rap','篮球');
  console.log(GetInterest.MyInterest());  //我会唱,跳,rap,篮球!
ログイン後にコピー

ES6 的class可以看作只是一个语法糖,它的绝大部分功能,ES5 都可以做到,新的class写法只是让对象原型的写法更加清晰、更像面向对象编程的语法而已,constructor方法就是构造方法,而this关键字则代表实例对象。也就是ES5 的构造函数Point,对应 ES6 的Point类的构造方法。

用关键字import声明变量

import用于加载文件,在大括号接收的是一个或多个变量名,这些变量名需要与你想要导入的变量名相同。

举个栗子:你想要导入action.js文件中的某一个变量,这个变量里保存了一段代码块,所以你要写成:import { Button } from 'action',这个时候,你就从action.js中获取到了一个叫 Button 的变量,既然获取到了,你就可以对Button里的代码猥琐欲为了

如果想为输入的变量重新取一个名字,import命令要使用as关键字,将输入的变量重命名,比如:

import { NewButton as Button } from 'action.js';
ログイン後にコピー

上面的代码表示从action.js文件中,获取一个变量名称叫做Button的代码段,然后你又声明了一个变量 NewButton ,将 Button 保存在 NewButton

【相关推荐:javascript视频教程web前端

以上がes6 は var を使用して変数を宣言できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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