首頁 >web前端 >Vue.js >es6新增的聲明方法有什麼

es6新增的聲明方法有什麼

WBOY
WBOY原創
2022-04-08 18:16:312937瀏覽

新增宣告方法:1、let,用於宣告變量,語法「let 變數名稱=值」;2、const,用於宣告常數,語法「const 常數名稱=值」;3、class ,用於宣告類,語法「class 類別名稱{...}」;4、import,用於宣告靜態載入的輸入變數。

es6新增的聲明方法有什麼

本文操作環境:windows10系統、Vue2.9.6版,DELL G3電腦。

es6新增的宣告方法有什麼

宣告變數在ES5之前有兩種:第一種是宣告變數和常數的 「 var 」。第二種是宣告函數的 “ function ”。在ES6中,宣告變數的方法一下子擴充了到了6 種,總結如下:

        宣告變數或常數:var 、let(ES6新增)、const (ES6新增);

        宣告函數變數:function ;

        宣告功能變數:function ;

        宣告類別:class(ES6新增);

        宣告 ' 靜態載入' 輸入變數:

        宣告』 靜態載入' 輸入變數::##ES6 新增);

在我們學習這幾個新增的方法之前,還需要知道幾個ES6新定義的概念:

#1,let和const

定義:

       let: ES6 新增了let指令,用來宣告變數。它的用法類似var,但是所宣告的變量,只在let指令所在的區塊級作用域內有效。

      const:ES6新增了const指令,宣告一個唯讀的常數。一旦聲明,常量的值就不能改變。同let一樣宣告的變數只在區塊級作用域內有效;

特點差異:

        相同:都不存在變數提升,所以只能宣告後使用,不宣告使用會報錯;

                   都有暫時性死區(TDZ),這也解釋了為何不宣告變數使用會錯誤;

#o const宣告的變數是「不可改變」 的變量,所以在宣告變數時必須直接賦值,常數賦值後不能改變值,否則報錯;

注意:上邊我們說的const宣告的變數不可改變是針對“常數” 我理解是“ 基本資料類型”,例如字串,數值,布林值等等。並不是指的所有資料類型,當我們用const宣告的變數是引用資料型別時,是可以改變值的。

這裡就說到了const保存的內容的真正意義:const實際上保證的,並不是變數的值不得改動,而是變數指向的那個記憶體位址所保存的資料不得改動。對於簡單類型的資料(數值、字串、布林值),值就保存在變數指向的那個記憶體位址,因此等同於常數。

但對於複合型別的資料(主要是物件和陣列),變數指向的記憶體位址,保存的只是一個指向實際資料的指針,const只能保證這個指標是固定的(即總是指向另一個固定的位址),至於它所指向的資料結構是不是可變的,就完全不能控制了。因此,將一個物件聲明為常數必須非常小心。

用法:

// let 用法
let a = '123';
 
// const 用法
const b = '456'

2,class

 定義:ES6 的class可以看成只是一個語法糖,它的絕大部分功能, ES5 都可以做到,新的class寫法只是讓物件原型的寫法更清晰、更像物件導向程式設計的語法而已。

(class定義類,其實是很重要的一個知識,這裡只是簡單的學習一下它的最最基本的用法,也是作為一個引子。深入的學習我們會在後續記錄)

用法:

// 基本方法定义一个类
class Point{
    constructor(x,y){
        this.x = x;
        this.y = y;
    }
 
    toString(){
        return '( '+ this.x +','+ this.y +')';
    }
}
 
var point = new Point(2,3)
point.toString(); // (2,3)
 
 
// 表达式的方法定义一个类
let person = new class {
  constructor(name) {
    this.name = name;
  }
 
  sayName() {
    console.log(this.name);
  }
}('张三');
 
person.sayName(); // "张三"

 3,import

用法: 

使用export指令定義了模組的對外介面以後,其他JS 文件就可以透過import指令載入這個模組。

// main.js
import { firstName, lastName, year } from './profile.js';
 
function setName(element) {
  element.textContent = firstName + ' ' + lastName;
}

上面程式碼的import指令,用於載入profile.js文件,並從中輸入變數。 import指令接受一對大括號,裡面指定要從其他模組匯入的變數名稱。大括號裡面的變數名,必須與被導入模組(profile.js)對外介面的名稱相同。如果想為輸入的變數重新取一個名字,import指令要使用as關鍵字,將輸入的變數重新命名。

import { lastName as surname } from './profile.js';

【相關推薦:《

vue.js教學》】

以上是es6新增的聲明方法有什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn