68.ES6介绍

1.ES6简介

  ECMAScript 6.0,是 JavaScript 语言下一代标准,发布于 2015 年 6 月。它的目标是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。

1.1.let,var,const命令

  ES6中新增了let命令,和var类似,也是用来声明变量的,

  区别:

    let声明的变量只在let命令所在的代码块内有效,而var声明的变量会污染全局

    let不能重复定义,但是可以修改,但是var可以重复声明,但是会覆盖之前已经声明的

    var声明变量存在变量提升,也就是在声明变量之前就可以使用该变量。而let必须先声明再使用

  const是用来声明常量的,声明过后值不能在改变,作用域与let相同,只在声明所在的块级作用域内有效

1.2.变量的解构赋值

  数组解构赋值,就是把数组元素的值按照顺序依次赋值

var [x, y, z] = [10, 20, 30]
x  // 10
y  // 20
z  // 30

对象解构赋值

var {x, y} = {x: 10, y: 20}
x  // 10
y  // 20

1.3 字符串操作

  ES6之前,JavaScript中只有indexOf方法可用来确定一个字符串是否包含在另一个字符串中

  现在,还有include(),startwith(),endwith()三种方法:

var s = "Hello world!";

s.includes("o")  // true
s.startsWith("Hello")  // true
s.endsWith("!")  // true

# 这三个方法都支持第2个参数,表示开始匹配的位置

14.模板字符串

模板字符串(template string)是增强版的字符串,用反引号(`)标识。它可以当做普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量。在模板字符串中嵌入变量

# 这里注意大括号前还有$,别忘记了

1.5函数

关于箭头函数:顾名思义,就是 有一个  =>  的函数

常规语法定义的函数:

function funcName(params) {
return params + 2;
}
funcName(2);
// 4

箭头函数:

var funcName = (params) => params + 2
funcName(2);
// 4

箭头函数特点:

  如果参数只有一个,可以省略小括号

  如果不写return,可以不写大括号

  没有arguments变量

  不改变this指向

和一般的函数不同,箭头函数不会绑定this,或则说箭头函数不会改变this本来的绑定。导致内部的this就是外层代码块的this

一般函数,输出得到一个person对象:

箭头函数:

1.6 对象

  Object.assign方法用来将源对象(source)的所有可枚举属性复制到目标对象(target)。它至少需要两个对象作为参数,第一个参数是目标对象,第二个参数是源对象。

  参数必须都是对象,否则抛出TypeError错误。

  Object.assjgn只复制自身属性,不可枚举属性(enumerable为false)和继承的属性不会被复制。

var x = {name: "Q1mi", age: 18};
var y = x;
var z = Object.assign({}, x);
x.age = 20;

x.age  // 20

y.age  // 20

z.age  // 18

1.7面向对象

ES5构造对象的方式是使用构造函数来创造,和构造函数唯一不同是函数名首字母需要大写

function Point(x, y){
    this.x = x;
    this.y = y;
}

// 给父级绑定方法
Point.prototype.toSting = function(){
    return ‘(‘ + this.x + ‘,‘ + this.y + ‘)‘;
}

var p = new Point(10, 20);
console.log(p.x)
p.toSting();

// 继承
function ColorPoint(x, y, color){
    Point.call(this, x, y);
    this.color = color;
}
// 继承父类的方法
ColorPoint.prototype = Object.create(Point.prototype);
// 修复 constructor
ColorPoint.prototype.constructor = Point;
// 扩展方法
ColorPoint.prototype.showColor = function(){
    console.log(‘My color is ‘ + this.color);
}

var cp = new ColorPoint(10, 20, "red");
console.log(cp.x);
console.log(cp.toSting());
cp.showColor()

ES6使用class构造对象

class Point{
    constructor(x, y){
        this.x = x;
        this.y = y;
    }  // 不要加逗号
    toSting(){
        return `(${this.x}, ${this.y})`;
    }
}
    // 实例化,得到一个对象
var p = new Point(10, 20);
console.log(p.x)
p.toSting();

class ColorPoint extends Point{
    constructor(x, y, color){
        super(x, y);  // 调用父类的constructor(x, y)
        this.color = color;
    }  // 不要加逗号
    showColor(){
        console.log(‘My color is ‘ + this.color);
    }
}

var cp = new ColorPoint(10, 20, "red");
console.log(cp.x);
cp.toSting();
cp.showColor()

1.9 Promise

  Promise 是异步编程的一种解决方案,比传统的解决方案(回调函数和事件)更合理、更强大。

  有了Promise对象,就可以将异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数。此外Promise 对象提供统一的接口,使得控制异步操作更加容易

  详细介绍,查看阮一峰的ECMAScript 6 入门

原文地址:https://www.cnblogs.com/LearningOnline/p/9355794.html

时间: 2025-01-17 16:51:12

68.ES6介绍的相关文章

ES6介绍

ES6在2015.6发布,就被很多框架引用.以后每年6月份发布新版本.新技术真是日新月异. ES6 ->tepyscript->angular2->ionic2 还有nodejs的关系 电子书 阮一峰 ECMAScript 6入门 模块(module)[?m?dju:l]ma jiu模型(model)[?m?dl] madou Module 的语法 概述 严格模式 export 命令 import 命令 模块的整体加载 export default 命令 export 与 import

es6(一):es6介绍以及let,const

es是js的规范,而js是具体实现 将es6转化为es5代码工具:运用的多的是babel 在线转换地址:babel,traceur(属于谷歌) 1.let申明变量:let其实可以完全取代var,并且没有var这么多副作用 1 { 2 var a = 10; 3 let b = 10;//let申明的变量是块级作用域 4 } 5 console.log(a)//10 6 // console.log(b)//b is not defined let很适合的一种场景是:for 1 for (let

ES6 介绍 及 变量基础知识

一.ES6 简介 ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了.它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言 ES6 是 5.1 版以后的 JavaScript 的下一代标准,涵盖了 ES2015.ES2016.ES2017 等等:而 ES2015 则是正式名称,特指该年发布的正式版本的语言标准 二.ES6 转码 Node 是 JavaScript 的服务器运行

ES6——介绍

什么是ES6? ECMAScript 6.0 (简称ES6)是继ECMAScript 5.1 之后 JavaScript 语言的下一代标准,发布在2015年6月.他的目标,是使得 JavaScript 语言可以用来编写诶复杂的大型应用程序,成为企业级开发语言 前提条件: 熟练掌握ES5 的基本语法.函数.作用域.基于原型的面向对象系统等...... 主要内容: 1.let 和 const 命令. 2.变量的结构赋值. 3.Set的数据结构. 4.Map数据结构 5.Iterator 和 for

( 译、持续更新 ) JavaScript小技巧介绍

感谢好友破狼提供的这篇好文章,也感谢写这些知识点的作者们和将他们整理到一起的作者.这是github上的一篇文章,在这里本兽也就只做翻译,由于本兽英语水平和编程能力都不咋地,如有不好的地方也请多理解体谅.原文 能够为大家提供这些简短而实用的JavaScript技巧来提高大家编程能力,这对于我来说是件很开心的事.每天仅花上不到2分钟的时间中,你将可以读遍JavaScript这门可怕的语言所呈现给我们的特性:performance(性能), conventions(协议), hacks(代码hack)

ECMAScript 6新特性介绍

箭头函数 箭头函数使用=>语法来简化函数,在语句结构上和C#.Java 8 和 CoffeeScript类似,支持表达式和函数体..=>`操作符左边为输入的参数,而右边则是进行的操作以及返回的值. var sum = (num1, num2) => num1 + num2; // 等同于 var sum = function(num1, num2) { return num1 + num2; }; 关于this,绑定定义时所在的对象,而不是使用时所在的对象. var handler =

了解ES6

内容: 1.ES6介绍及基础 2.模块.类和继承 3.ES6高级特性 4.Generator和Iterator 5.异步编程 内容参考:<ES6 标准入门> ES6标准阅读链接:http://es6.ruanyifeng.com/ 一.ES6介绍及基础 1.什么是ES6 ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了.它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言

计算机程序的思维逻辑 (83) - 并发总结

从65节到82节,我们用了18篇文章讨论并发,本节进行简要总结. 多线程开发有两个核心问题,一个是竞争,另一个是协作.竞争会出现线程安全问题,所以,本节首先总结线程安全的机制,然后是协作的机制.管理竞争和协作是复杂的,所以Java提供了更高层次的服务,比如并发容器类和异步任务执行服务,我们也会进行总结.本节纲要如下: 线程安全的机制 线程的协作机制 容器类 任务执行服务 线程安全的机制 线程表示一条单独的执行流,每个线程有自己的执行计数器,有自己的栈,但可以共享内存,共享内存是实现线程协作的基础

治愈 JavaScript 疲态的学习计划

显然,这篇文章触及了大家的神经:我一而再地在 Hacker News 看到它位居榜首.这也是 Reddit 网站里 javaScript 分类下最为热门的帖子,截至目前,在 Medium 上已有超过一万的喜欢数,很可能比我所有的文章加起来的喜欢数都多.但谁说了算呢? 尽管这并不意外,我很早之前就知道 JavaScript 生态系统会是混乱的.事实上,我进行这个< State Of JavaScript >调查的特殊原因就是要找出哪些库是实实在在受欢迎的,并且从喧闹声中整理出分类. 但是今天,我