返回顶部
首页 > 资讯 > 前端开发 > 其他 >es6是不是框架
  • 426
分享到

es6是不是框架

javascriptES6 2022-11-22 23:11:34 426人浏览 薄情痞子
摘要

本教程操作环境:windows7系统、ECMAScript 6版、Dell G3电脑。es6不是框架,而是一种JavaScript语言的标准。es6全称ECMAScript6(ECMAScript的第6个版本),是于2015年6月正式发布的

教程操作环境:windows7系统、ECMAScript 6版、Dell G3电脑。

es6不是框架,而是一种JavaScript语言的标准。

es6全称ECMAScript6(ECMAScript的第6个版本),是于2015年6月正式发布的javascript语言的标准,正式名为ECMAScript 2015(ES2015)。它的目标是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言。

ECMAScript是一种由Ecma国际通过ECMA-262标准化的脚本程序设计语言。这种语言在万维网上应用广泛,它往往被称为JavaScript或jscript,所以它可以理解为是JavaScript的一个标准,但实际上后两者是ECMA-262标准的实现和扩展。

JavaScript 与 ECMAScript 的关系

有时人们会将 JavaScript 与 ECMAScript 看作是相同的,其实不然,JavaScript 中所包含的内容远比 ECMA-262 中规定的多得多,完整的 JavaScript 是由以下三个部分组成:

  • 核心(ECMAScript):提供语言的语法和基本对象;

  • 文档对象模型(DOM):提供处理网页内容的方法和接口;

  • 浏览器对象模型(BOM):提供与浏览器进行交互的方法和接口。

而ECMAScript是JavaScript的核心,描述了语言的基本语法(var、for、if、array等)和数据类型(数字、字符串、布尔、函数、对象(obj、[]、{})、null、未定义),ECMAScript是一套标准,定义了一种语言(比如JS)是什么样子。

ECMAScript是由ECMA-262定义的ECMAScript是一种在国际认可的标准的脚本语言规范,与WEB浏览器没有依赖关系。ECMA-262标准主要规定了这门语言由以下组成部分:

  • 语法

  • 变量和数据类型

  • 关键字和保留字

  • 操作符

  • 控制语句

  • 对象

ECMAScript 6 目前基本成为业界标准,它的普及速度比 ES5 要快很多,主要原因是现代浏览器对 es6 的支持相当迅速,尤其是 Chrome 和 Firefox 浏览器,已经支持 ES6 中绝大多数的特性。【推荐学习:javascript高级教程】

为什么要学ES6?ES6的用处是什么?

ES5不能满足目前前端越来越复杂,庞大的现状,可以说已经过时了,ES6是对ES5的增强和升级。

1.主流的浏览器都已经全面支持ES6

2.行业内较新的前端框架都已经全面使用ES6的语法

3.微信小程序,uni-app等都是基于ES6的语法

4.从就业出发,中小型公司,全栈,简历上多一个技能,试用期也能更快的上手。

变量

  • let
    一个作用域中只能声明一个let变量,若子作用域中也声明了let变量,则不影响父作用域中的let变量。
  • var
    一个作用域中可以声明多个var变量,若子作用域中也声明了var变量,也在影响父作用域中的var变量。
  • const
    常量,相当于final,不可被修改。
  • global
    不声明变量类型的变量默认为全局变量(window属性)。

面向对象

  • 原理
    JavaScript 的面向对象特性是基于原型和构造函数的,与常见的基于类的不同。JavaScript 没有 提供对象继承的语言级别特性,而是通过原型复制来实现的。
  • 三种创建对象方法
  1. {pojo}(实例变量、实例方法、get、set) 
  2. function(实例变量、实例方法、prototype、apply、call) 
  3. class(实例变量、实例方法、prototype、extends、super)

prototype

只有函数、class才有原型,意义在于动态添加实例变量和实例方法及实现继承。

继承

  • 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: 'qc'},{}]];
    const [aa,bb,cc,dd,ee,ff]="hello";

    let {name="replaceName",age,id}={name:'cursor',age:19,id:'vc6dfuoc91vpdfoi87s'};
    let {type:tipType,min:minNumber}={type:'message',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)
	}
}

以上就是es6是不是框架的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: es6是不是框架

本文链接: https://lsjlt.com/news/173502.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • es6是不是框架
    本教程操作环境:windows7系统、ECMAScript 6版、Dell G3电脑。es6不是框架,而是一种JavaScript语言的标准。es6全称ECMAScript6(ECMAScript的第6个版本),是于2015年6月正式发布的...
    99+
    2022-11-22
    javascript ES6
  • es6是框架吗
    本文小编为大家详细介绍“es6是框架吗”,内容详细,步骤清晰,细节处理妥当,希望这篇“es6是框架吗”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。es6不是框架,而是一种JavaScript语言的标准。es6是E...
    99+
    2023-07-04
  • css是不是框架
    这篇文章主要讲解了“css是不是框架”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“css是不是框架”吧! css不是框架,而是一...
    99+
    2024-04-02
  • javascript是不是框架
    这篇文章主要介绍了javascript是不是框架,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 javascri...
    99+
    2024-04-02
  • umijs是不是react框架
    今天小编给大家分享一下umijs是不是react框架的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解...
    99+
    2024-04-02
  • react native是不是框架
    本篇内容介绍了“react native是不是框架”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!react native是框架;React ...
    99+
    2023-07-04
  • jquery框架是不是java的
    本篇内容介绍了“jquery框架是不是java的”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!jquery...
    99+
    2024-04-02
  • thinkphp是不是海外框架
    这篇文章将为大家详细讲解有关thinkphp是不是海外框架,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。thinkphp不是海外框架,而是一种轻量级国产PHP开发框架;thinkphp是为了简化企业级应用...
    99+
    2023-06-22
  • es2017是不是es6
    这篇文章主要介绍“es2017是不是es6”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“es2017是不是es6”文章能帮助大家解决问题。 ...
    99+
    2024-04-02
  • es2015是不是es6
    这篇文章主要介绍了es2015是不是es6的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇es2015是不是es6文章都会有所收获,下面我们一起来看看吧。es2015是es6。es全称“ECMAScript”,是...
    99+
    2023-07-04
  • vue是不是前端css框架
    这篇文章主要讲解了“vue是不是前端css框架”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue是不是前端css框架”吧! v...
    99+
    2024-04-02
  • react是不是渐进式框架
    这篇文章主要介绍了react是不是渐进式框架,具有一定借鉴价值,需要的朋友可以参考下。下面就和我一起来看看吧。 react是渐进式框架;react是用于构建用户界面的JavaSc...
    99+
    2024-04-02
  • promise是不是es6的
    本篇内容主要讲解“promise是不是es6的”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“promise是不是es6的”吧!是的。promise是ECMAScript 6新增的引用类型,表示一...
    99+
    2023-07-04
  • laravel框架是不是用PHP写的
    这篇文章主要介绍“laravel框架是不是用PHP写的”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“laravel框架是不是用PHP写的”文章能帮助大家解决问题。laravel框架就是用PHP写的;...
    99+
    2023-07-02
  • assign是不是es6方法
    这篇文章将为大家详细讲解有关assign是不是es6方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 assign是es6方法。assign...
    99+
    2024-04-02
  • foreach是不是es6里的
    本文小编为大家详细介绍“foreach是不是es6里的”,内容详细,步骤清晰,细节处理妥当,希望这篇“foreach是不是es6里的”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。...
    99+
    2024-04-02
  • require是不是es6语法
    本篇内容主要讲解“require是不是es6语法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“require是不是es6语法”吧!不是,require是CommonJS规范的模块化语法;而es6...
    99+
    2023-07-04
  • concat是不是es6语法
    这篇文章主要介绍“concat是不是es6语法”,在日常操作中,相信很多人在concat是不是es6语法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”concat是不是es6语法”的疑惑有所帮助!接下来,请跟...
    99+
    2023-07-04
  • bootstrap是不是属于前端框架吗
    小编给大家分享一下bootstrap是不是属于前端框架吗,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! ...
    99+
    2024-04-02
  • es6 class是不是语法糖
    这篇文章主要介绍了es6 class是不是语法糖的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇es6 class是不是语法糖文章都会有所收获,下面我们一起来看看吧。 ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作