Vue 中ES6语法的使用

1.ES6允许使用“箭头”(=>)定义函数

var f = v => v;

//等价于

var f = function(v){
     return v;    
};

如果箭头函数不需要参数,则定义如下:

var f = () => 5;

// 等同于

var f = function () { return 5 };

如果箭头函数需要单个参数或者多个参数,则定义如下:

var sum = (num1, num2) => num1 + num2;

// 等同于

var sum = function(num1, num2) {
  return num1 + num2;
};

如果箭头函数的代码块多于一条语句,则要使用大括号将他们括起来,并使用return语句返回:

var sum = (num1, num2) => { return num1 + num2; }
  注:箭头函数内部的this不是windows对象,而是函数自身。

2、import,export

export与export default均可用于导出常量、函数、文件、模块等,你可以在其它文件或模块中通过import+(常量 | 函数 | 文件 | 模块)名的方式,将其导入,以便能够对其进行使用,但在一个文件或模块中,export、import可以有多个,export default仅有一个。

//demo1.js
export const str = 'hello world'

export function f(a){
    return a+1
}



//demo2.js
import { str, f } from 'demo1' //也可以分开写两次,导入的时候带花括号
  也可以使用下面的方式进行导入:

//demo1.js
export default const str = 'hello world'


//demo2.js
import str from 'demo1' //导入的时候没有花括号

3、let 和 const 命令

这里有必要再提,var 修饰的变量
var 修饰的变量的作用域是存在当前函数的作用域内,如果声明在函数外的顶层声明,那么就属于 全局变量 、如果当前变量并没有用任何修饰词,那么该变量则属于全局变量。

let 作用于当前代码块的区域

let 声明的变量具有一下几个特点

  1. let 声明的变量具有块级作用域的特征
  2. 在同一个块级作用域,不能重复声明变量
  3. let 声明的变量不存在变量提升
    这里加一个例子
 for(var i = 0; i <10 ; i++){
           setTimeout(function(){
               console.log(i);
           },100)
       }
       for(let i = 0; i < 10; i++) {
           setTimeout(function(){
               console.log(i);
           },100)
       }
       for(const i = 0; i < 10; i++) {
           setTimeout(function(){
               console.log(i);
           },100)
       }

const只读

在vue中使用const会定义 变量、方法、对象等,通常是使用const定义一个变量指向方法、对象等
定义变量为一个具体的值时,该值是无法改变的,当定义的变量指向的是对象或方法时,其内容值可以改变

你可能感兴趣的:(Vue 中ES6语法的使用)