ES6新特性学习(一)
来源:互联网 发布:手机怎么申请淘宝介入 编辑:程序博客网 时间:2024/05/01 16:54
想要在浏览器端使用ES 2015最新语法,其实很简单,只需要一个转换器即可,Babel是ES 2015最流行的转换器之一,Babel加上各种插件和polyfill能基本上支持绝大部分新语法。
let和const
- let。let声明的变量拥有块级作用域,
for(let i = 0;i<5;i++){}console.log(i); // i is not definded
- const
const则很直观,用来定义常量,即无法被更改值的变量。
箭头函数 =>
箭头函数通常比匿名函数还要简洁,以后会不会全部都用箭头函数呢?
- 语法,左边参数,右边内容
let fn = () => { console.log('hello world');};
不过,使用时this的指向需要注意,比如绑定事件
$('#selector').on('click', () => { $(this).addClass('new');});
会被翻译成
var _this = this;$('#selector').on('click', function() { $(_this).addClass('new');});
this为全局变量
模板字符串/template strings
模板字符串使用反引号 (` `) 来代替普通字符串中的用双引号和单引号。模板字符串可以包含特定语法(${expression})的占位符。
- 使用表达式引用变量,非常有利于拼接html
let index = 1;console.log(`${index}`);
- 多行字符串
console.log(`string text line 1string text line 2`);// "string text line 1// string text line 2"
不定参数和默认参数
不定参数和默认用处非常大,从此再也不用写一大堆参数判断的代码了。
- 默认参数
let add = (a,b=1)=>(a+b);add(1);// 2
- 不定参数
/将所有参数相加的函数function add(...args){ console.log(args); return args.reduce((m,n)=>m+n);}//传递任意个数的参数console.log(add(1,2,3));//输出:6console.log(add(1,2,3,4,5));//输出:15
还要注意,以前的arguments是类数组对象,ES6中这里的args就是真正的数组了
Symble
ES5 的对象属性名都是字符串,这容易造成属性名的冲突。
ES6引入了原始数据类型Symbol
,表示独一无二的值。它是 JavaScript 语言的第七种数据类型,前六种是:
- undefined
- null
- Boolean
- String
- Number
Object
- 用法
let s = Symbol();typeof s// "symbol"
var s1 = Symbol('foo');var s2 = Symbol('bar');s1 // Symbol(foo)s2 // Symbol(bar)s1.toString() // "Symbol(foo)"s2.toString() // "Symbol(bar)"
for of 值遍历
for in 循环用于遍历数组,类数组或对象,ES6中新引入的for of循环功能相似,不同的是每次循环它提供的不是序号而是值。
var arr = [ "1", "2", "3" ];for (v of arr) { console.log(v);//输出 1,2,3}
阅读全文
0 0
- ES6新特性学习(一)
- es6新特性学习
- es6的新特性(一)
- JavaScript(ES6)新特性学习汇
- 前端工程师不得不知道的ES6新特性(一)
- JavaScript学习--Item24 ES6新特性概览
- 【ES6】ES6的新特性
- ES6新特性概览(二)
- ES6:JavaScript 新特性
- ES6新特性概览
- ES6新特性概览
- es6 新特性
- ES6新特性概览
- ES6新特性概览
- ES6新特性概览
- ES6新特性概览
- ES6新特性概览
- ES6新特性总结
- Java中的MySQL数据库与JDBC编程笔记
- 几何变换 -- 仿射变换
- 多线程编程
- 错题总结之自减运算符
- tcpdump分析
- ES6新特性学习(一)
- 基于proteus的51单片机仿真实例七十一、并口转串口器件74HC165应用实例
- 攻击技术及临时资源汇总
- 数据结构(循环链表)实现约瑟夫问题
- HttpClient 不能做的事情
- block chain
- parallel lock
- hdu1222-Wolf and Rabbit
- |poj 3294|后缀数组|二分|Life Forms