ES6簡單用法
阿新 • • 發佈:2019-01-09
概述
ES6以前 var關鍵字來宣告變數,無論宣告在何處都存在變數提升這個事情,會提前建立變數;
let宣告的變數是塊級作用域,不能重複宣告,不存在變數提升
const宣告一個只讀的常量,一旦宣告,常量的值不能改變
模板字串
ES6引入了反引號``,使用 ${} 的方式
如果想用輸入反引號 用\(反斜槓)轉義
例子:
a b 是提前定義好的變數
`哈哈${a}嘻嘻${b}`
箭頭函式
var f = (a) => {return a;} // function(){} === ()=>{} (等價)
function 體內的this物件,就是定義時所在的物件
坑1
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"