1、es6中变量声明可以使用let声明变量,用const声明常量。例:

test:function(){
{
var num=10;
let num1=11;
const num2=12;
}
console.log(num); //
console.log(num1); //报错
console.log(num2); //报错
}

2、es6中的模板字符串。使用反撇号字符`代替普通字符串的引号'或"。例:

test:function(){
var num=12;
var num1=15;
var str=`${num}+${num1}=${num+num1}`;
console.log(str); //12+15=27
}

3、箭头函数。例:

test:()=>{
num=[1,2,3,4,5,6,7];
num.forEach(function(v){
console.log(v); //输出数组中的每个值
})
//使用箭头函数(=>符号取代function,当参数只有一个的时候,可以省略参数外面的括号)
num.forEach(v=>{
console.log(v); //输出数组中的每个值
});
//参数的扩展
function root(num=4){
console.log(num);
}
function root1(...num){
let sum=0;
for(let n of num){
sum+=n;
}
}
root(); //4 没有参数的时候默认值为4
root(8); //8 传递参数的时候所传的参数取代默认值
root1(1.2); //1.2
root1(1,2,3,4,5) //
//this作用域
wx.getSystemInfo({
success:function(res){
this.setData({ //没有使用箭头函数时,这样写会报错,因为this指向是wx.getSystemInfo
//假设data里面有定义一个name的值
name:"123"
})
success:res=>{
this.setData({ //使用了箭头函数,this指向是test,所以可以修改data里面的值
//假设data里面有定义一个name的值
name:"123"
})
}
})
}

4、增强的变量字面量。例:

test:function(){
var tool={
['str'+'name'+'you']:"ok",
};
console.log(tool); //strnameyou:ok
}

5、解构赋值:es6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,叫做解构

  ①:数组的解构赋值,可以从数组中提取值,按照对应位置,对变量赋值

  ②:对象的解构赋值

  ③:字符串的解构赋值,字符串被转换成了一个类似数组的对象

  ④:函数参数的解构赋值

test:function(){

  //数组的解构
var num=[45,46,85,22];
var [a,b,c,d]=num;
console.log(a,d); //45,22 //对象的解构
var tool={
name:"loop",
age:12,
sex:'男'
};
var {name,sex}=tool;
console.log(name,sex); //loop,男 //字符串的解构赋值
var [a,b,c,d]="java";
console.log(a,b,c,d); //j a v a //函数的解构赋值
function tt([x,y]){
console.log(x,y); //1,2
}
tt([1,2]);
}

6、类:Class是es6引入的最重要的特性之一,在没有Class之前,我们只能通过原型链来模拟类

test:function(){
var Root=function(){ };
Root.prototype.eat=function(){
console.log("es5 eat");
}
Root.doing=function(){
console.log("es5 eat")
} let a=new Root();
a.eat(); //es5 eat
Root.doing(); //es5 eat class Roots{
constructor(){ }
eat(){
console.log("Es6 eat");
}
static doing(){
console.log("Es6 doing");
}
}
let b=new Roots();
b.eat(); //Es6 eat
Roots.doing(); //Es6 doing
}

es6中的部分新特性的更多相关文章

  1. ES6中的一些新特性

    这两个命令是ES6的新语法知识.这两个新的特性解决了ES6中的一些小的"bug"问题.其中包含一些知识:块级作用域.let命令.const命令.全局对象的属性.Google V8引 ...

  2. ES6系列之项目中常用的新特性

    ES6系列之项目中常用的新特性 ES6常用特性 平时项目开发中灵活运用ES6+语法可以让开发者减少很多开发时间,提高工作效率.ES6版本提供了很多新的特性,接下来我列举项目中常用的ES6+的特性: l ...

  3. ES6的十大新特性(转)

    add by zhj: 该文章是由国外一哥们写的,由腾讯前端团队翻译,图片中的妹子长得挺好看的,很养眼,嘿嘿.我目前在学习ES6,这篇文章把ES6的 几个主要新特性进行了归纳总结,犹如脑图一般,让人看 ...

  4. Jdk5.0中出现的新特性

    掌握jdk5.0中出现的新特性1.泛型(Generics)2.增强的"for"循环(Enhanced For loop)3.自动装箱/自动拆箱(Autoboxing/unboxin ...

  5. MVC中的其他新特性

    MVC中的其他新特性 (GlobalImport全局导入功能) 默认新建立的MVC程序中,在Views目录下,新增加了一个_GlobalImport.cshtml文件和_ViewStart.cshtm ...

  6. C#6.0 中的那些新特性

    C#6.0 中的那些新特性 前言 VS2015在自己机器上确实是装好了,费了老劲了,想来体验一下跨平台的快感,结果被微软狠狠的来了一棒子了,装好了还是没什么用,应该还需要装Xarmain插件,配置一些 ...

  7. iOS中的项目新特性页面的处理

    一般项目中都会出现新特性页面,比如第一次使用应用的时候,或者在应用设置里查看新特性的时候会出现. 这里,选择新建一个专门处理项目新特性的控制器,来完成功能. 首先是 NewFeaturesViewCo ...

  8. Xcode中StoryBoard Reference 新特性的使用

    html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,bi ...

  9. 浅析Oracle 12c中Data Guard新特性

    浅析Oracle 12c中Data Guard新特性   写在前面 无论是做Oracle运维的小伙伴还是老伙伴,想必对Oracle数据库的数据级灾备核心技术—Data Guard是再熟悉不过了!这项从 ...

随机推荐

  1. CentOS7 启动中文输入法

    CentOS 系统中是带有中文输入法的(智能拼音),启动方式如下: Applications --> System Tools -->  Setting --> Region &am ...

  2. python:a+=b 和a=a+b? 基础数据类型也不能乱用

    python:a+=b 不等于a=a+b? a+=b 调用的是__iadd__方法,但是a+b调用的是__add__方法.对于自定义的对象,我们通过覆盖两个方法来实现+=和+操作,但是基础数据类型呢? ...

  3. Http协议和Tomcat服务器

    Http协议和Tomcat服务器 什么是Http协议 HTTP,超文本传输协议(HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议. Http协议的组成 Ht ...

  4. php中 curl, fsockopen ,file_get_contents 三个函数

    赵永斌:有些时候用file_get_contents()调用外部文件,容易超时报错.换成curl后就可以.具体原因不清楚curl 效率比file_get_contents()和fsockopen()高 ...

  5. bash编程-执行流程

    1.顺序执行 shell脚本按从上到下的顺序依次执行,除非使用了选择.循环等执行流程. 2.选择执行 2.1 if # 格式一 if 条件; then # 语句 fi # 格式二 if 条件; the ...

  6. kaldi脚本注释二

    steps/decode.sh #!/bin/bash # Copyright 2012 Johns Hopkins University (Author: Daniel Povey) # Apach ...

  7. 关于Runtime.getRuntime().exec()产生阻塞的2个陷阱

    本文来自网易云社区 背景 相信做java服务端开发的童鞋,经常会遇到Java应用调用外部命令启动一些新进程来执行一些操作的场景,这时候就会使用到Runtime.getRuntime().exec(), ...

  8. 网易易盾最新一代Java2c加固究竟有什么厉害之处?

    导语:几个月前,网易易盾正式推出Java2c加固.它以独有的"静态保护"技术,使得应用程序中的代码出现"下沉",达到不可逆的效果,兼顾"冷热启动时间& ...

  9. turtle库实现汉诺塔

    import turtleturtle.screensize(800,800) class Stack: def __init__(self): self.items = [] def isEmpty ...

  10. Android核心技术Intent和数据存储篇

    女孩:上海站到了? 男孩:嗯呢?走向世界~ 女孩:Intent核心技术和数据存储技术? 男孩:对,今日就讲这个~ Intent是各个组件之间用来进行通信的,Intent的翻译为"意图&quo ...