一. 結構物件
物件解構是獲取物件并將物件內部屬性提取到物件外部變數的一種方法
const obj = { x: 1, y: 2 }
// 不使用解構語法
const x = obj.x
const y = obj.y
// 使用解構語法
const { x,y } = obj
x // 1
y // 2
// 你也可以再函式傳參中使用解構,但是這里傳參只有一個
function add({ x, y }){
return x + y
}
add(obj) // 3
// 也可以這樣
add({ x: 4, y:5 }) // 9
現在會不會有點亂,花括號{}不僅可以用來宣告物件,也可以對背景關系進行解構
// 花括號在等號右邊,宣告一個物件
const obj = { x: 1, y: 2 }
// 花括號在等號左邊,解構一個物件
const { x } = obj
二.陣列解構
陣列解構和物件結構幾乎相同,但是用的是方括號而不是花括號
const arr = [ 'hello', 'world' ]
const [first, second] = arr
first // hello
second // world
物件結構:它們之間的另一個區別是物件具有屬性名稱,因此必須在解構的時候使用這些屬性名稱,
陣列解構:由于陣列值是按順序排列的,并且沒有名稱,因此,解構的順序與我們獲得的值是相關聯的,也就是說first是解構中的第一個變數,所以它獲取陣列的第一個值,
三.物件屬性簡寫
如果屬性名稱與物件中的變數名稱相同,則可以使用屬性簡寫
const name = 'Mike'
const person = { name: name }
person // { name: 'Mike' }
// 簡寫
const person1 = { name }
person // { name: 'Mike' }
四.'···'展開語法
// 定義一個陣列
const student = ['Mike', 'James', 'Wade']
// 如果要把這個陣列加到一個新的陣列中,比如:
const newStudents = [ student, 'Jack' ]
// 結果是一個陣列里面包含一個陣列
newStudents // [['Mike', 'James', 'Wade'], 'Jack']
newStudents[0] // Array ['Mike', 'James', 'Wade']
newStudents[1] // String 'Jack'
// 現在用...物件展開語法
const newStudents = [ ...student, 'Jack' ]
newStudents // [ 'Mike', 'James', 'Wade', 'Jack' ]
// 物件也可以使用...展開語法
const info = { name: 'Li', age: '1' }
const extraInfo = { ...obj, address: 'Xi’an'}
extraInfo // { name: 'Li', age: '1', address: 'Xi’an' }
五.物件解構賦值
const obj = { a: 2, b: 3, c: 4 }
const { a: x } = obj
x // 2
六.陣列解構更加簡單的進行變數交換
let a = 3
let b = 4
[a, b] = [b, a]
a // 4
b // 3
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/254954.html
標籤:其他
下一篇:Sqli-labs靶場搭建
