ホームページ > ウェブフロントエンド > フロントエンドQ&A > JavaScriptとES6の違いは何ですか

JavaScriptとES6の違いは何ですか

WBOY
リリース: 2022-07-28 16:57:17
オリジナル
5331 人が閲覧しました

JavaScript と es6 の違い: 1. JavaScript は、動的に型付けされ、弱く型付けされた、プロトタイプベースのクライアント側スクリプト言語であり、HTML Web ページに動的関数を追加するために使用されます。es6 は、次の世代の標準です。 JavaScript 言語; 2 、es6 は JavaScript の言語仕様であり、JavaScript は es6 の実装です。

JavaScriptとES6の違いは何ですか

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

JavaScript と es6 の違いは何ですか

JavaScript とは

JavaScript は動的型、弱い型、プロトタイプのクライアント側スクリプト言語に基づいており、HTML Web ページに動的関数を追加するために使用されます。

動的: 実行時にデータ型を決定します。変数を使用する前に型宣言をする必要はなく、通常、変数の型は割り当てられる値の型になります。

弱いクラス: 計算中に、異なる型間の暗黙的な変換をユーザーに透過的に行うことができ、型が正しくない場合でも、暗黙的な変換を通じて正しい型を取得できます。

プロトタイプ: 新しいオブジェクトはオブジェクトを (テンプレートとして) 継承し、独自のプロパティを新しいオブジェクトと共有します。テンプレート オブジェクトはプロトタイプと呼ばれます。このようにして、新しいオブジェクトがインスタンス化された後、作成時および実行時に定義されたプロパティだけでなく、プロトタイプ オブジェクトのプロパティも利用できるようになります。

ES6 とは

ECMAScript 6.0 (以下、ES6 と呼びます) は、JavaScript 言語の次世代標準です (現在は ES5 標準に続いています)。 2015年6月に発売を発表。その目標は、JavaScript 言語を使用して複雑な大規模アプリケーションを作成できるようにし、エンタープライズ レベルの開発言語になることです。

ES6 の新機能

  • #ES6 の let コマンドは変数を宣言します。使用法は var と似ていますが、JavaScript では let が新しいです。 . ブロックレベルのスコープ、ES5にはブロックレベルのスコープはなく、varには変数プロモーションの概念がありますが、letでは使用する変数を宣言する必要があります。

  • ES6 での変数の構造化代入 (例: var [a,b,c] = [0,1,2];

  • ##) # ES6 では、ES5 のような継承の実装にプロトタイプ チェーンを使用しなくなりましたが、クラスの概念が導入されました。これは Java のオブジェクト指向プログラミングの構文に似ているように思えますが、この 2 つは異なります。

  • ES6 の関数定義では、キーワード function は使用されなくなりましたが、定義には => が使用されます;

  • ES6 のデフォルト関数パラメータでは、関数 A (x, y=9) {};

ECMAScript と JavaScript の関係

理由は JavaScript によるものです。作成者である Netscae Corporation の著作権の問題により、ECMAScript を Javascript と呼ぶことはできません。つまり、ECMAScriptとJavaScriptの関係は、前者が後者の仕様(言語仕様)、後者が前者の実装ということになります。

拡張知識

ES6 の機能は次のとおりです:

1. ブロックレベルのスコープ キーワード let、定数 const

2. オブジェクト リテラルのプロパティ値の省略表現

var obj = {
    // __proto__
    __proto__: theProtoObj,
    // Shorthand for ‘handler: handler’
    handler,
    // Method definitions
    toString() {
    // Super calls
    return "d " + super.toString();
    },
    // Computed (dynamic) property names
    [ 'prop_' + (() => 42)() ]: 42
};
ログイン後にコピー

3. 代入の分解

let singer = { first: "Bob", last: "Dylan" };
let { first: f, last: l } = singer; // 相当于 f = "Bob", l = "Dylan"
let [all, year, month, day] =  /^(dddd)-(dd)-(dd)$/.exec("2015-10-25");
let [x, y] = [1, 2, 3]; // x = 1, y = 2
ログイン後にコピー

4. 関数パラメータ - デフォルト値、パラメータのパッケージ化、配列展開 (Default、Rest、Spread) )

//Default
function findArtist(name='lu', age='26') {
    ...
}
//Rest
function f(x, ...y) {
  // y is an Array
  return x * y.length;
}
f(3, "hello", true) == 6
//Spread
function f(x, y, z) {
  return x + y + z;
}
// Pass each elem of array as argument
f(...[1,2,3]) == 6
ログイン後にコピー

[関連する推奨事項:

JavaScript ビデオ チュートリアル Web フロントエンド ]

以上がJavaScriptとES6の違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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