2025年7月28日 星期一

解構賦值有層級的陣列與物件

 解構賦值有層級的陣列與物件

前言

  在先前的 解構賦值有層級的物件 與 解構賦值有層級的陣列 分別針對物件與陣列做解構賦值,但其實它們是可以混著用的!在此把學習的過程做個路。


內容

  範例如下

let obj = {
  a : 1234,
  b : 5678,
  ar : [ 1 , 2],
};
( { a : newA , b , ar : [ newAr1 , newAr2] } = obj);
console.log( newA );//1234
console.log( b );//5678
console.log( newAr1 );//1
console.log( newAr2 );//2


範例的 newA 與 b 分別使用重新命名與原名的解構賦值,newAr1 與 newAr2 則是這次的混用,在物件裡的陣列,利用重新命名的方式承接 ar ,接著在後面不直接使用變數來承接,而是使用 [] 的方式解構賦值陣列,這樣就可以承接陣列的的內容。


參考資料

[ developer.mozilla.org ] 解構賦值


相關文章與資料

初探解構賦值

將解構賦值用於物件

利用解構賦值來交換變數

利用解構賦值將陣列剩餘部分解構到一個變數

利用解構賦值將物件剩餘部分解構到一個變數

在解構賦值用於物件時,用不同的變數名稱承接數值

利用解構賦值作為函式的引數

解構賦值有層級的物件

解構賦值有層級的陣列

2025年7月21日 星期一

解構賦值有層級的陣列

 解構賦值有層級的陣列

前言

  在之前的 解構賦值有層級的物件 將解構賦值用於有層級的物件,那可以用於有層級的陣列嗎?答案是可以的!在此把學習的過程做個紀錄。


內容

  範例如下

let ar = [ 1 , 2 , 3 , [ 4 , 5] ];
[ a , b , c , [ d , e] ] = ar;
console.log( a );//1
console.log( b );//2
console.log( c );//3
console.log( d );//4
console.log( e );//5


用法跟在物件的時候相似,在有層級的的地方用 [] 包起來就可以解構賦值內層的陣列,範例的 d 與 e 就是內層陣列的資料。


參考資料

[ developer.mozilla.org ] 解構賦值


相關文章與資料

初探解構賦值

將解構賦值用於物件

利用解構賦值來交換變數

利用解構賦值將陣列剩餘部分解構到一個變數

利用解構賦值將物件剩餘部分解構到一個變數

在解構賦值用於物件時,用不同的變數名稱承接數值

利用解構賦值作為函式的引數

解構賦值有層級的物件

2025年7月14日 星期一

解構賦值有層級的物件

 解構賦值有層級的物件

前言

  解構賦值如果遇到有層級的物件該如何使用呢?在此把學習的過程做個紀錄。


內容

  範例如下

let obj = {
  name : 'Max',
  data :{
    age : 30
  }
};
//
function showData( { name : newName , data : { age : newAge } }){
  console.log(`${newName}'s age is ${newAge}`);
}
//
( {name , data:{ age } } = obj);
console.log( name );//name
console.log( age );//30
showData( obj );//Max's age is 30


範例的 age 是被包覆在 data 之下,可以透過 data : {  age } 的方法來解構賦值 age ,這個方法也可以用在當作函釋的引數時使用,範例透過 showData() 來示範,並且示範時會為變數重新命名。


參考資料

[ developer.mozilla.org ] 解構賦值


相關文章與資料

初探解構賦值

將解構賦值用於物件

利用解構賦值來交換變數

利用解構賦值將陣列剩餘部分解構到一個變數

利用解構賦值將物件剩餘部分解構到一個變數

在解構賦值用於物件時,用不同的變數名稱承接數值

利用解構賦值作為函式的引數

2025年7月7日 星期一

利用解構賦值作為函式的引數

 利用解構賦值作為函式的引數

前言

  解構賦值不只可以解構出變數,還能當作函式的引數來用,在此把學習的過程做個紀錄。


內容

  範例如下

let obj = {
  id : 1234,
  name : 'Jack'
};
//
//
function getObjectName( { name } ){
  return name;
}
//
console.log( getObjectName( obj ) );//Jack
console.log( getObjectName( {} ) );//undefined


在函式的引數用 {} 來表明是解構賦值,接著填入要解構的變數,範例是將 name 直接回傳,範例的最後示範如果解構賦值時肥有該變數會發生什麼事,結果是 undefined ,而且不會報錯。


參考資料

[ developer.mozilla.org ] 解構賦值


相關文章與資料

初探解構賦值

將解構賦值用於物件

利用解構賦值來交換變數

利用解構賦值將陣列剩餘部分解構到一個變數

利用解構賦值將物件剩餘部分解構到一個變數

在解構賦值用於物件時,用不同的變數名稱承接數值