10.1 ES6 的新增特性以及简单语法
ES6 的新增特性以及简单语法
- let 和 const
 - 模板字符串
 - 箭头函数
 - 对象单体模式
 - es6面向对象
 - 模块化
 
let 和 const
之前一直用 var 来声明变量,ES6 新增 let 和 const
script type="text/javascript">
    // let声明变量块级作用域,不能重复声明
    // let声明的变量 是块级作用域,不能重复声明
    // {
    //     // let a = 12;
    //     let a  = 12;
    //     let a  = 13;
    // }
    // console.log(a);
   // var 的坑 ,循环的时候会按照最后一次的赋值
    // var a = [];
    // for (var i = 0; i < 10; i++) {    //这里的 var i 换成 let i 即可解决
    //  a[i] = function () {
    //     console.log(i);
    // };
    // }
    // a[6](); // var 10 ,let 6
    // var 会发生变量提升
    console.log(foo); // 输出undefined
    var foo = 2;
    // let  不发生变量提升
    console.log(foo); // 报错 ReferenceError
    let foo = 2;
    // const 声明常量,一旦声明,立即初始化,不能重复声明。
    const foo; // 没立即赋值,会报错
    // const 声明是只读常量,不可更改
    const P = 1
    P = 2 // 报错无法更改
</script>
模板字符串
更加的简单的拼接字符串 用 ${} 来填入
<script>
var a = 1;
var b = 2; // var str = "哈哈哈哈" + a + "嘿嘿嘿" + b;
// ` xxx${}xxxx${}xxx` 注意反引号
var str = `哈哈哈哈${a}嘿嘿嘿${b}`;
console.log(str);
</script>
箭头函数
操作更加简单了,但是改变了特性造成了不便
<script>
// function(){} --等同于--- ()=>{} // 1.this的指向发生改变,指向了定义对象时的对象
// function(){} 的时候相当于 self
// ()=>{} 的时候相当于 windows对象
// 2.arguments不能使用,无法再通过 arguments 拿所有的参数
var person = {
name:'张三',
age: 18, fav:()=>{
console.log(this); // windows
console.log(arguments); // 报错不存在
}
}
person.fav();
</script>
对象单体模式
为了解决箭头函数的问题
(){} 完全等同于 function(){} 不再有上面的困扰了
<script>
var person = {
name:'张三',
age: 18, fav(){
console.log(this);
console.log(arguments);
}
}
person.fav();
</script>
ES6的面向对象
<script>
// 构造函数的方式创建对象
// function Animal(name,age){
// this.name = name;
// this.age = age; // }
// Animal.prototype.showName = function(){
// console.log(this.name);
// }
// Animal.prototype.showName2 = function(){
// console.log(this.name);
// }
// Animal.prototype.showName3 = function(){
// console.log(this.name);
// }
// Animal.prototype.showName4 = function(){
// console.log(this.name);
// }
// var dog = new Animal('日天',18) class Animal{
constructor(name,age){ // 必须要 constructor 初始化属性 类似于 init
this.name = name;
this.age = age;
} // 这一行一定不要加逗号
showName(){
console.log(this.name)
}
}
var d = new Animal('张三',19);
d.showName();
</script>
10.1 ES6 的新增特性以及简单语法的更多相关文章
- hive 0.10 0.11新增特性综述
		
我们的hive版本升迁经历了0.7.1 -> 0.8.1 -> 0.9.0,并且线上shark所依赖的hive版本也停留在0.9.0上,在这些版本上有我们自己的bug fix patch和 ...
 - ES6/ES2015的一些特性的简单使
		
1.一些常用的ES6的特性: let, const, class, extends, super, arrow functions, template string, destructuring, d ...
 - ES6(函数新增特性)
		
ES6(函数新增特性) 1.函数参数默认值 没有 y 时,默认就是world 有 y 时,输出值即可 (错误) (C有默认值,正确) 默认值后面不能再有没有默认值的变量 2.作用域 y 取其前面的 x ...
 - Java SE 10 新增特性
		
Java SE 10 新增特性 作者:Grey 原文地址:Java SE 10 新增特性 源码 源仓库: Github:java_new_features 镜像仓库: GitCode:java_new ...
 - ES6相关新特性介绍
		
你可能已经听说过 ECMAScript 6 (简称 ES6)了.ES6 是 Javascript 的下一个版本,它有很多很棒的新特性.这些特性复杂程度各不相同,但对于简单的脚本和复杂的应用都很有用.在 ...
 - ES6常用新特性
		
https://segmentfault.com/a/1190000011976770?share_user=1030000010776722 该文章为转载文章!仅个人喜好收藏文章! 1.前言 前几天 ...
 - ES6 && ECMAScript2015 新特性
		
ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015. 也就是说,ES6就是ES201 ...
 - 前端开发者不得不知的es6十大特性(转)
		
转载自AlloyTeam:http://www.alloyteam.com/2016/03/es6-front-end-developers-will-have-to-know-the-top-ten ...
 - 前端开发者不得不知的ES6十大特性
		
前端开发者不得不知的ES6十大特性 转载 作者:AlloyTeam 链接:http://www.alloyteam.com/2016/03/es6-front-end-developers-will- ...
 
随机推荐
- Vs2017 无法调试APP
			
其实一切都是扯,看看有没有主活动吧 症状:能部署安装,没有快捷方式,不启动调试.XARAMIN不能在XML中配置主活动,会自动根据[Activity(Label = "AA", ...
 - android java.lang.IllegalStateException: Circular dependencies cannot exist in RelativeLayout
			
造成这个问题的原因是在xml文件中出现了重复依赖,何为重复依赖,如下: 以上便叫重复依赖 转载请标明出处:http://www.cnblogs.com/tangZH/p/8386978.html
 - 对象的使用处理,作用域的和ajax中this的理解
			
首先,封装类,理解清楚你需要用的哪几个变量,然后声明,然后在类里封装函数,其中,constructor就是存放初始变量的地方. 这里还是datatable的处理解决, constructor(tabl ...
 - ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes
			
今天在MySQL 5.6版本的数据库中修改InnoDB表字段长度时遇到了"ERROR 1071 (42000): Specified key was too long; max key le ...
 - Python ——报错集锦
			
https://blog.csdn.net/weixin_42660771/article/details/80990665 错误(1):SyntaxError:'return' outside fu ...
 - 扒一扒EOS的前世今生
			
扒一扒EOS的前世今生 EOS是什么? EOS可以认为是Enterprise Operation System的缩写,即商用的一款分布式区块链操作系统,EOS主要为了解决百万级用户的使用问题,为企 ...
 - SQL高级查询技巧
			
SQL高级查询技巧 1.UNION,EXCEPT,INTERSECT运算符 A,UNION 运算符 UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重 ...
 - 生成Csv格式的字符串
			
using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using Sy ...
 - #018 C语言刷题 素数问题
			
今天做题学会了一个求素数的方法 总分 13 孪生素数 相差为2的两个素数称为孪生素数.例如,3与5,41与43等都是孪生素数.设计程序求出指定区间上的所有孪生素数对.区间上限和下限由键盘获取. 程序运 ...
 - vue中的watch方法 实时同步存储数据
			
watch 监视模式里面有个独特的方法handler 注意要加上deep: true.deep为true时,当对象的key值改变时也监听 当值发生改变被watch监视到触发了事件 开始执行handle ...