ES6新特性学习

  ES6是ECMAScript 6的缩写简称,2015 年 6 月,ECMAScript 6 正式通过,成为国际标准。ES6带来的新功能涵盖面很广,还有很多很便利的功能。下面来记一下我接触到的几个新特性。

  1.模板字符串,用反单引号包起来,可以实现字符串回车换行,也可以在字符串里拼接变量,${变量},很方便使用。   

var name="fanfan";
var age="20";

console.log("Hello,My name is "+name+",and I‘m "+age);//Hello,My name is fanfan,and I‘m 20
//es6新写法
console.log(`Hello,My name is ${name},and I‘m ${age}`);//Hello,My name is fanfan,and I‘m 20

  2.块级作用域关键字:let ,在特定的代码块中使用,超出范围无效

"use strict";
for(var i=0;i<3;i++){
    console.log("内层i");
}
console.log(i);//3
//es6新特性之let
for(let j=0;j<3;j++){
    console.log(‘内层j‘);
}
console.log(j);//undefined

  3.for...of值循环,以前我们用for in方法遍历数组或者类数组的下标,es6中新增了for  of方法直接遍历数组或类数组的值

var arr=[‘a‘,‘b‘,‘c‘];
for(value of arr){
    console.log(value);
}
//a
//b
//c

  4.箭头函数=>,简化了函数的书写。操作符左边为输入的参数,而右边则是进行的操作以及返回的值,尤其是应用在匿名函数自调的场景

(function(){
 console.log(111);
 })();
//箭头函数 =>
(()=>{
    console.log(111);
})();

  5.class 类,一组相似对象的属性和行为的抽象集合

"use strict";
//使用class创建自定义对象
class Emp{
    //注意关键词constructor
    constructor(ename){
        this.ename=ename;
    }
    //方法
    work(){
        return `${this.ename} is working.`;
    }
}

 var e1=new Emp("fan",5000);
 console.log(e1.ename);//fan
 console.log(e1.work());//fan is working.

//继承,关键词extends
class Programmer extends Emp{
    constructor(ename,skills){
        super(ename);
        this.skills=skills;
    }
    work(){
        return super.work()+‘her  skill is ‘+this.skills;
    }
}
var e3=new Programmer("nancy",‘javascript‘);
console.log(e3.ename);//nancy
console.log(e3.skills);//javascript
console.log(e3.work());//nancy is working.her skill is javascript

  6.解构,可以让代码变得更加精简整洁,同时给多个变量赋值

/**解构: 同时为多个变量赋值
 */
/*1. 数组方式解构: 以下标为对应*/
var [a,b]=[1,2];
//0 1   0 1
console.log(a,b);
/*2. 对象结构: 以属性名为对应*/
var {m:month,y:year}={m:12,y:2016};
console.log(month,year);
/*3. 参数结构:*/
function g({name:x,age:y}){
    console.log(x,y);
}
g({name:"fanfan",age:20});

  7.函数的参数

/*1. Default: 函数的参数可设置默认值
* 强调: 带默认值的参数必须放在没有默认值的参数之后*/
function f(x,y=12){
  console.log(x+y);
}
f(3);
/*2. Rest: 获取传入函数的其他剩余参数*/
function calc(base,...bonus){
  console.log(
    bonus.reduce(function(prev,val){
      return prev+val;
    },base)
  );
}
calc(10000,2000,3000,4000,1000);
/*3.spread: 将数组散播到每个参数上*/
var bonus=[1000,2000,3000];
calc(10000,...bonus);

  8.promise,承诺的意思,可以理解为我承诺你执行回调函数,配合then使用

function connect(){
    console.log("连接数据库...");
    console.log("连接完成!");
    return new Promise(function(callback){
        callback();
    })
}//返回promise
function query(){
    console.log("开始查询...");
    console.log("查询完成!");
    return new Promise(function(callback){
        callback();
    })
}//返回promise
function show(){
    console.log("显示查询结果");
}
connect()
    .then(query)
    .then(show);

and so on...遇到再补充

时间: 2024-10-13 02:08:16

ES6新特性学习的相关文章

ES6新特性学习(一)

一.什么是ES6 ECMAScript和JavaScript的关系 ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了.Mozilla公司将在这个标准的基础上,推出JavaScript 2.0. ECMAScript和JavaScript到底是什么关系?很多初学者会感到困惑,简单来说,ECMAScript是JavaScript语言的国际标准,JavaScript是ECMAScript的实现. 二.兼容性支持 ECMAScript 6

JavaScript学习--Item24 ES6新特性概览

ES6新特性概览 本文基于lukehoban/es6features ,同时参考了大量博客资料,具体见文末引用. ES6(ECMAScript 6)是即将到来的新版本JavaScript语言的标准,代号harmony(和谐之意,显然没有跟上我国的步伐,我们已经进入中国梦版本了).上一次标准的制订还是2009年出台的ES5.目前ES6的标准化工作正在进行中,预计会在14年12月份放出正式敲定的版本.但大部分标准已经就绪,且各浏览器对ES6的支持也正在实现中.要查看ES6的支持情况请点此. 目前想要

ES6新特性(函数默认参数,箭头函数)

ES6新特性之 函数参数的默认值写法 和 箭头函数. 1.函数参数的默认值 ES5中不能直接为函数的参数指定默认值,只能通过以下的变通方式:   从上面的代码可以看出存在一个问题,当传入的参数为0或者false时,会直接取到后面的值,而不是传入的这个参数值. 那怎么解决呢?对于上图的代码,可以通过判断是否传入了num参数,没有就用默认值:   这种做法还是很麻烦的,而ES6则直接在参数定义里面设置函数参数的默认值,而且不用担心传入参数是0或者false会出错了: 2.箭头函数 箭头函数用 =>

你不知道的JavaScript--Item24 ES6新特性概览

ES6新特性概览 本文基于lukehoban/es6features ,同时参考了大量博客资料,具体见文末引用. ES6(ECMAScript 6)是即将到来的新版本JavaScript语言的标准,代号harmony(和谐之意,显然没有跟上我国的步伐,我们已经进入中国梦版本了).上一次标准的制订还是2009年出台的ES5.目前ES6的标准化工作正在进行中,预计会在14年12月份放出正式敲定的版本.但大部分标准已经就绪,且各浏览器对ES6的支持也正在实现中.要查看ES6的支持情况请点此. 目前想要

ES6新特性概览

转自:http://www.cnblogs.com/Wayou/p/es6_new_features.html ES6学习可参考:http://es6.ruanyifeng.com/ 本文基于lukehoban/es6features ,同时参考了大量博客资料,具体见文末引用. ES6(ECMAScript 6)是即将到来的新版本JavaScript语言的标准,代号harmony(和谐之意,显然没有跟上我国的步伐,我们已经进入中国梦版本了).上一次标准的制订还是2009年出台的ES5.目前ES6

前端入门21-JavaScript的ES6新特性

声明 本篇内容全部摘自阮一峰的:ECMAScript 6 入门 阮一峰的这本书,我个人觉得写得挺好的,不管是描述方面,还是例子,都讲得挺通俗易懂,每个新特性基本都还会跟 ES5 旧标准做比较,说明为什么会有这个新特性,这更于理解. 所以,后续不会再写个关于 ES6 系列的文章了,就在这篇里大概的列举一下,大体清楚都有哪些新特性就好了,以后需要用时再去翻一翻阮一峰的书. 正文-ES6新特性 ES6 新标准规范相比于 ES5 旧标准规范中,无非就三个方面的改动:新增.更新.废弃. 由于更新和废弃需要

ES6新特性

ES6新特性概览 箭头操作符 如果你会C#或者Java,你肯定知道lambda表达式,ES6中新增的箭头操作符=>便有异曲同工之妙.它简化了函数的书写.操作符左边为输入的参数,而右边则是进行的操作以及返回的值Inputs=>outputs. 我们知道在JS中回调是经常的事,而一般回调又以匿名函数的形式出现,每次都需要写一个function,甚是繁琐.当引入箭头操作符后可以方便地写回调了.请看下面的例子. var array = [1, 2, 3]; //传统写法 array.forEach(f

spring4.0.6最新稳定版新特性学习,简单学习教程(一)

Spring Framework 4.0 学习整理. Spring框架的核心部分就是Ioc容器,而Ioc控制的就是各种Bean,一个Spring项目的水平往往从其XML配置文件内容就能略知一二,很多项目,往往是外包公司的项目,配置文件往往是乱七八糟,抱着能跑就行,不报错就行的态度去写,然后在项目中后期发现各种缺失又去一通乱补,其结果就是,整个文档可读性极差,毫无章法.这也不能怪写这个XML的人,拿着苦逼程序员的工资干着架构师的工作必然是这个结果.为了程序员的幸福,我认为有必要来一套简单快速的官方

ES6新特性:Proxy代理器

ES6新特性:Proxy: 要使用的话, 直接在浏览器中执行即可, node和babel目前还没有Proxy的polyfill;,要使用的话,直接在浏览器中运行就好了, 浏览器的兼容性为:chrome>39或者firefox>18: Proxy的基本使用: Proxy如其名, 它的作用是在对象和和对象的属性值之间设置一个代理,获取该对象的值或者设置该对象的值, 以及实例化等等多种操作, 都会被拦截住, 经过这一层我们可以统一处理,我们可以认为它就是“代理器” ; Proxy是一个构造函数, 使