ES6(简单了解)

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、箭头函数:

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;
}
View Code

 总结:(个人观点)  箭头函数是特殊的匿名函数,和前面的 = 号没关系(=号只是赋值),箭头前面是形参,后面是返回值。

    箭头函数里面没有 this对象,所以在里面出现 this,那使用的就是上一层作用域链的 this对象。(类似变量的作用域链)

    函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。

      https://www.cnblogs.com/lianjq/p/6527039.html  

8、对象 :

  1、 ES6允许直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁

var birth = '2000/01/01';

var Person = {

  name: '张三',

  //等同于birth: birth
  birth,

  // 等同于hello: function ()...
  hello() { console.log('我的名字是', this.name); }

};
View Code

  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方法遍历数组的功能。


ES7+ES8   参考:https://www.jianshu.com/p/13c5d002478b

原文地址:https://www.cnblogs.com/wfblog/p/8631263.html