1、import类似于var,不过是定义对外接口的,接受外部的文件。
import xx from xx ,有点像var i =3;
如import profile from './profile';
2、export default 就是输出一个叫做default的变量或方法,然后系统允许你为它取任意名字。(es6中导入使用import,导出使用export)
3、let 声明的变量 只在let命令所在的代码块内有效。
所以let变量 一般用于for循环,避免循环变量泄露为全局变量 https://blog.csdn.net/yu452148611/article/details/53897361
4、模板字符串 : 用 ` `来表示,与es5,字符串相比,多了,解析空格、和变量(插值)的能力、
5、Number全局对象 : ES6将全局方法parseInt()和parseFloat(),移植到Number对象上面,行为完全保持不变。
6、函数变化 : ES6允许为函数的参数设置默认值,即直接写在参数定义的后面。
function log(x, y = 'World') { console.log(x, y); } log('Hello') // Hello World log('Hello', 'China') // Hello China log('Hello', '') // Hello
7、箭头函数:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
var f = () => 5; // 等同于 var f = function () { return 5 }; var sum = (num1, num2) => num1 + num2; // 等同于 var sum = function(num1, num2) { return num1 + num2; }; const full = ({ first, last }) => first + ' ' + last; // 等同于 function full(person) { return person.first + ' ' + person.last; }
总结:(个人观点) 箭头函数是特殊的匿名函数,和前面的 = 号没关系(=号只是赋值),箭头前面是形参,后面是返回值。
箭头函数里面没有 this对象,所以在里面出现 this,那使用的就是上一层作用域链的 this对象。(类似变量的作用域链)
函数体内的this
对象,就是定义时所在的对象,而不是使用时所在的对象。
https://www.cnblogs.com/lianjq/p/6527039.html
8、对象 :
1、 ES6允许直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
var birth = '2000/01/01'; var Person = { name: '张三', //等同于birth: birth birth, // 等同于hello: function ()... hello() { console.log('我的名字是', this.name); } };
2、属性名表达式,ES6 允许字面量定义对象时,用方法二(表达式)作为对象的属性名,即把表达式放在方括号内。
(个人)相当于属性名也可以动态生成了
1 let propKey = 'foo'; 2 3 let obj = { 4 [propKey]: true, 5 ['a' + 'bc']: 123 6 };
9、rest 参数 : https://www.cnblogs.com/garfieldzhong/p/8056692.html
es5中,函数声明的时候不设 形参(或不知道需要参数不定的时候),调用时有实参 且 函数里面用到传递过来的参数。函数里获取传递过来的参数需要使用 arguments这个
类数组对象表示对应的实参。
使用 rest 参数 就可以不用 arguments 数组对象,可以使用自定义的数组对象。(这样就解决了箭头函数中没有arguments 数组对象,而需要这个功能的问题)
// arguments变量的写法 function sortNumbers() { return Array.prototype.slice.call(arguments).sort() } // rest参数的写法 const sortNumbers = (...numbers) => numbers.sort(
10、扩展运算符 : 扩展运算符(spread)是三个点(…)。它好比rest参数的逆运算,将一个数组转为用逗号分隔的参数序列。
https://blog.csdn.net/yu452148611/article/details/53897361
function push(array, ...items) { array.push(...items); } function add(x, y) { return x + y; } var numbers = [4, 38]; add(...numbers) // 42
11、变量的解构赋值 (以后再深入了解,不常用)
12、map 函数: js 数组 map方法 参考链接
map函数的作用可以看做是简化forEach
方法遍历数组的功能。