1. 程式人生 > >ES6簡單用法

ES6簡單用法

概述

ES6以前 var關鍵字來宣告變數,無論宣告在何處都存在變數提升這個事情,會提前建立變數;

let宣告的變數是塊級作用域,不能重複宣告,不存在變數提升

const宣告一個只讀的常量,一旦宣告,常量的值不能改變

模板字串

ES6引入了反引號``,使用 ${} 的方式
如果想用輸入反引號 用\(反斜槓)轉義
例子: 

a b 是提前定義好的變數

`哈哈${a}嘻嘻${b}`

箭頭函式

var f = (a) => {return a;}
// function(){} === ()=>{}            (等價)

  function 體內的this物件,就是定義時所在的物件
坑1

:箭頭函式體內的this物件,指向了定義是所在的物件(window),

  function函式中arguments是函式傳的引數
坑2:箭頭函式中,arguments不能使用

物件的單體模式

// 在物件裡直接寫
    fav(){
        console.log(this)
    }
    
// 等價於    
    fav:function(){
        console.log(this)
    }

面向物件

ES6

class Animal(){
    constructor(name,age){
        this.name = name;
        this.age 
= age; } // 這裡不寫逗號 showName(){} console.log(this.name) } var d = new Animal('張三',19); d.showName();

模組化

匯出
export default xxx

匯入
import xxx from xx 匯入

名字匯出

// main.js
// 匯出多個宣告
export var name = "ggg"
export var age = "18"
export function aa() {
    return 1
}
// 批量匯出
export {name, age, aa}

// test.js import {name, age, aa} from "./main" console.log(name) console.log(age) console.log(aa()) // 整個模組匯入 把模組當做一個物件 // 該模組下所有的匯出都會作為物件的屬性存在 import * as obj from "./main" console.log(obj.name) console.log(obj.age) console.log(obj.aa())

預設匯出

// 一個模組只能有一個預設匯出
// 對於預設匯出 匯入的時候名字可以不一樣
// main.js
var app = new Vue({

});
export default app

// test.js
// import app from "./main"
import my_app from "./main"