es6はフレームワークですか?

青灯夜游
リリース: 2022-11-16 19:03:09
オリジナル
1283 人が閲覧しました

es6 はフレームワークではなく、JavaScript 言語標準です。 es6 は、ECMAScript の 6 番目のバージョンです。ECMA インターナショナル (情報通信標準化団体の国際会員制度) によって ECMA-262 によって標準化されたスクリプト プログラミング言語です。スクリプト言語 JavaScript の中核であり、構文と構文を提供します。言語の基本オブジェクト。

es6はフレームワークですか?

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

es6 はフレームワークではなく、JavaScript 言語標準です。

es6 は ECMAScript6 (ECMAScript の 6 番目のバージョン) の略で、2015 年 6 月に正式にリリースされた JavaScript 言語標準です。正式には ECMAScript 2015 (ES2015) と呼ばれます。その目標は、JavaScript 言語を使用して複雑な大規模アプリケーションを作成できるようにし、エンタープライズ レベルの開発言語になることです。

AndECMAScript は、Ecma International によって ECMA-262 を通じて標準化されたスクリプト プログラミング言語です。 この言語は World Wide Web で広く使用されており、JavaScript または JScript と呼ばれることが多いため、JavaScript の標準として理解できますが、実際には、後の 2 つは ECMA-262 標準の実装および拡張です。

JavaScript と ECMAScript の関係

JavaScript と ECMAScript を同じものだと考えることがありますが、実際にはそうではありません。JavaScript には ECMA-262 よりもはるかに多くのコンテンツが含まれています完全な JavaScript は次の 3 つの部分で構成されています:

  • コア (ECMAScript): 言語の構文と基本オブジェクトを提供します;

  • ドキュメント オブジェクト モデル (DOM): Web コンテンツを処理するためのメソッドとインターフェイスを提供します;

  • ブラウザ オブジェクト モデル (BOM): コンテンツと対話するためのメソッドとインターフェイスを提供しますブラウザのインターフェース。

ECMAScript は JavaScript の中核であり、言語の基本的な構文 (var、for、if、配列など) とデータ型 (数値、文字列、ブール値、関数、 ECMAScript は、オブジェクト (obj、[]、{})、null、未定義)、言語 (JS など) がどのようなものであるかを定義する一連の標準です。

ECMAScript は ECMA-262 によって定義されています。ECMAScript は、Web ブラウザに依存しない国際的に認められた標準スクリプト言語仕様です。 ECMA-262 標準では、言語が次のコンポーネントで構成されることが主に規定されています:

  • 構文

  • 変数とデータ型

  • キーワードと予約語

  • 演算子

  • 制御ステートメント

  • Object

ECMAScript 6 は基本的に業界標準になりました。その人気は ES5 よりもはるかに速いです。主な理由は、最新のブラウザ、特に Chrome と Firefox が ES6 を非常に早くサポートしているためです。ブラウザはすでにサポートしていますES6 のほとんどの機能。 [推奨学習: JavaScript 上級チュートリアル ]

ES6 を学習する必要があるのはなぜですか? ES6 は何に使用されますか?

ES5 は、フロントエンドが複雑化、巨大化する現状に対応できず、時代遅れとも言えますが、ES6 は ES5 を強化し、アップグレードしたものです。

1. 主流のブラウザは ES6 を完全にサポートしています

2. 業界の新しいフロントエンド フレームワークは ES6 構文を完全に使用しています

3. WeChat アプレット、ユニアプリ、 etc are all based on ES6 syntax

4. 採用から始めて、中小企業、フルスタック、履歴書にもう 1 つのスキル、試用期間も早く始めることができます。

変数

  • let
    スコープ内で宣言できる let 変数は 1 つだけです。子 let 変数がスコープ内でも宣言されている場合、親スコープ内の let 変数には影響しません。
  • var
    1 つのスコープ内で複数の var 変数を宣言できます。子スコープでも var 変数を宣言すると、親スコープの var 変数にも影響します。
  • const
    定数 (final と同等) は変更できません。
  • global
    変数の型を宣言していない変数は、デフォルトでグローバル変数 (ウィンドウ属性) になります。

#オブジェクト指向

    ##原則
  • JavaScript のオブジェクト指向機能は次のとおりです。プロトタイプとコンストラクターに基づいており、一般的なクラスベースのものとは異なります。 JavaScript はオブジェクト継承の言語レベルの機能を提供しませんが、プロトタイプのコピーを通じて提供します。
  • オブジェクトを作成する 3 つの方法
  •   1. {pojo}(实例变量、实例方法、get、set) 
      2. function(实例变量、实例方法、prototype、apply、call) 
      3. class(实例变量、实例方法、prototype、extends、super)
    ログイン後にコピー

プロトタイプ 関数とクラスのみプロトタイプのみが存在し、その意義はインスタンス変数やインスタンスメソッドを動的に追加し、継承を実装することにあります。

継承

  • call/apply
    应用在继承关系中,子类向父类传参时应用此关键字
  • extends
    继承关系中使用,A extends B,则A是B的父类
  • super
    在子类中调用父类的方法时应用次关键字
  • ES5继承方式
    接下来我们手写一套组合继承(原型链继承(继承原型) + 构造继承(继承属性))。这种方式即可避免原型链继承中无法实现多继承,创建子类实例时,无法向父类构造函数传参的弊端,也可避免构造继承中不能继承原型属性/方法的弊端。
function Person(name,age){                                             /* 父类 */
    this.name = name || 'father';                            //实例变量
    this.namesonF = this.nameson;
    this.age = age;
    this.talk = function(){alert("talk");};                 //实例方法
};
function Son(name){                                                     /* 子类 */
    this.nameson = name || 'son';
    // Person.call(this,'name',18);                          //继承:构造继承,复制父类的实例属性给子类,不能继承原型属性/方法
    Person.apply(this,['name',18]);                          //继承:构造继承,复制父类的实例属性给子类,不能继承原型属性/方法
}
// Son.prototype = new Person("zhangsan",19);                   //继承:原型链继承,父类的实例作为子类的原型,拷贝属性两次,不合理
Son.prototype = Person.prototype;                            //继承:原型链继承,父类的实例作为子类的原型

Person.prototype.publicParam="param1";                       //动态添加实例变量
Person.prototype.talk=function(){alert("talk");}            //动态添加实例方法

var son = new Son();                                         //实例化对象,调用构造函数(constructor)
ログイン後にコピー
  • ES6继承方式
    ES6的继承创造了一种新的写法,与Java、Scala等语言非常类似,默认使用组合继承(原型链继承(继承原型) + 构造继承(继承属性))的方式。
class Point {
    constructor(x, y) {
        this.x = x;                                           //实例变量
        this.y = y;
    }
}
class Son extends Point {
    constructor(z, w) {
        super(z,w);
        this.z = z;                                           //实例变量
        this.w = w;
    }
}
var son = new Son(1,2);
ログイン後にコピー

arrow functions

箭头函数,是ES6中新加入的语法,于Java的lambda,scala的函数式语法非常相似

  • 代码
var single = a => console.log(a);
var single = (a) => (console.log(a));
var single = (a, b) => {console.log(a + b)};
var single = (a, b) => {return a + b};
ログイン後にコピー

template string

模版字符串,字符串拼接的新语法

  • 代码
var templateStr = () => {
    var str1 = "adsf\nsdfa";

    var template1 = `<ul><li>first</li> <li>second</li></ul>`;

    var x = 1;
    var y = 2;
    var template2 = `${x} + ${y} = ${x + y}`;

    var template3 = `${lettest4()}`;
    console.log(str1)
    console.log(template1)
    console.log(template2)
    console.log(template3)
}
ログイン後にコピー

destructuring

重构/解构,变量交互的语法

  • 代码
var destructuring = () => {
    var [a,b,...c]=[1,2,3,4,5,6,7,8,9,10];
    let [temp="replaceString"] = ["tempString"];
    let [age2, [{name: fname},{age: fname2="replaceString"}]] = [20, [{name: &#39;qc&#39;},{}]];
    const [aa,bb,cc,dd,ee,ff]="hello";

    let {name="replaceName",age,id}={name:&#39;cursor&#39;,age:19,id:&#39;vc6dfuoc91vpdfoi87s&#39;};
    let {type:tipType,min:minNumber}={type:&#39;message&#39;,min:20};
    let {sin,cos,tan,log}=Math;

    var fun = function({x,y}={}){return [x,y];}
    fun({x:100,y:2});

    [a,b]=[b,a];                                        //交换

    var map = [1,2,3]
    var map=new Map();
    map.set("id","007");
    map.set("name","cursor");
    for(let [key,value] of map){}
    for(let [key] of map){}
    for(let [,value] of map){}

    var arr = [1,2,3,4]
    for(let val of arr){val}

}
ログイン後にコピー

arguments

实参,ES6中加入的直接读取参数的变量

  • 代码
function argumentsTest(a,b) { 
	for(let val of arguments)
		{console.log(val)
	}
}
ログイン後にコピー

【相关推荐:javascript视频教程编程视频

以上がes6はフレームワークですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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