聲明變量的三種方式
方式 | 作用域 | 聲明次數 |
---|---|---|
var | var 是在全局範圍內有效 | var 可以聲明多次 |
let | let 聲明的變量只在 let 命令所在的代碼塊內有效 | 只能聲明一次,值可以改變 |
const | const 聲明一個只讀變量,聲明之後不允許改變。意味着,一旦聲明必須初始化,否則會報錯 | 只能聲明一次,值不可以改變 |
暫時性死區:ES6 明確規定,代碼塊內如果存在 let 或者 const,代碼塊會對這些命令聲明的變量從塊的開始就形成一個封閉作用域
解構賦值
解構賦值是對賦值運算符的擴展,他是一種針對數組或者對象進行模式匹配,然後對其中的變量進行賦值
解構對象 | 結構方式 |
---|---|
數組 | 基本,可嵌套,可忽略,不完全解構,剩餘運算符,字符串等,解構默認值 |
對象 | 基本,可嵌套,可忽略,不完全解構,剩餘運算符,字符串等,解構默認值 |
遍歷方法
方式 | 對象 |
---|---|
for | 數組,對象 |
for…in | 數組,對象 |
forEach | 數組,對象 |
for…of | 數組,對象 |
字符串的幾個拓展方法
- includes():返回布爾值,判斷是否找到參數字符串。
- startsWith():返回布爾值,判斷參數字符串是否在原字符串的頭部。
- endsWith():返回布爾值,判斷參數字符串是否在原字符串的尾部。
- ES6 之前判斷字符串是否包含子串,用 indexOf 方法
- repeat():返回新的字符串,表示將字符串重複指定次數返回。
- padStart:返回新的字符串,表示用參數字符串從頭部補全原字符串。
- padEnd:返回新的字符串,表示用參數字符串從頭部補全原字符串。
模板字符串:模板字符串相當於加強版的字符串,用反引號 ` ,除了作爲普通字符串,還可以用來定義多行字符串,還可以在字符串中加入變量和表達式。變量名寫在${} 中,${} 中可以放入 JavaScript 表達式
對象的字面量
- 屬性簡寫
- 方法名簡寫
- 屬性名表達式
對象的拓展與算符:拓展運算符(…)用於取出參數對象所有可遍歷屬性然後拷貝到當前對象。
注意:自定義的屬性在拓展運算符後面,則拓展運算符對象內部同名的屬性將被覆蓋掉
數組
數組創建的兩種拓展方法
- Array.from() 將集合或者對象轉換成純數組
- Array.of() 生成指定元素的對象
類數組對象:一個類數組對象必須含有 length 屬性,且元素屬性名必須是數值或者可轉換爲數值的字符。
數組拓展方法
方法 | 作用 |
---|---|
find | 查找數組中符合條件的元素,若有多個符合條件的元素,則返回第一個元素 |
findIndex | 查找數組中符合條件的元素索引,若有多個符合條件的元素,則返回第一個元素索引 |
fill | 將一定範圍索引的數組元素內容填充爲單個指定的值 |
copyWithin | 將一定範圍索引的數組元素修改爲此數組另一指定範圍索引的元素 |
entries | 遍歷鍵值對 |
keys | 遍歷鍵名 |
values | 遍歷鍵值 |
includes | 數組是否包含指定值 |
some | 某些元素滿足條件 |
every | 每個元素都滿足條件 |
函數
- 函數默認值
- 函數的不定參數
- 箭頭函數
當箭頭函數沒有參數或者有多個參數,要用 () 括起來。
當箭頭函數函數體有多行語句,用 {} 包裹起來,表示代碼塊,當只有一行語句,並且需要返回結果時,可以省略 {} , 結果會自動返回。
當箭頭函數要返回對象的時候,爲了區分於代碼塊,要用 () 將對象包裹起來
注意點:沒有 this、super、arguments 和 new.target 綁定。
模塊
ES6 的模塊化分爲導出(export) @與導入(import)兩個模塊。
模塊中可以導入和導出各種類型的變量,如函數,對象,字符串,數字,布爾值,類等。
在一個文件或模塊中,export、import 可以有多個,export default 僅有一個。
export default 中的 default 是對應的導出接口變量。
通過 export 方式導出,在導入時要加{ },export default 則不需要。
export default 向外暴露的成員,可以使用任意變量來接收。
export 用於從模塊中導出函數、對象或原始值,以便其他程序使用 import 引入它們
模板字符串
data() {
return {
logo: {
// src 的值是用反引號(`)標識的模板字符串,我們只需將變量放在 ${} 的大括號之中
src: `${this.uploadsUrl}sites/ByvFbNlQYVwhvTyBgLdqitchoacDNznN.jpg`,
title: 'VuejsCaff'
}
}
},