2024年2月19日 星期一

取得 DisplayNames 的成員

 取得 DisplayNames 的成員

前言

  DisplayNames  是透過 Intl.DisplayNames() ,透過回傳的 Object 來使用,不過該物件不提供公開的成員來取得當初初始化的參數,如 type...等 ,查詢後發現是可以的,但不能直接取得,在此把學習的過程做個紀錄。


內容

  要取得 DisplayNames 的成員可以透過 DisplayNames.resolvedOptions() 所回傳的物件來取得,範例如下

const displayNames = new Intl.DisplayNames(
  ["zh-tw"], 
  { type: "region" }
);
//
const usedOptions = displayNames.resolvedOptions();
console.log(usedOptions.locale); // "zh-TW"
console.log(usedOptions.type); // "region"


透過 DisplayNames.resolvedOptions() 的回傳物件就可以取得當初的初始化成員,如 locale 或 type ,感學這設計很不直覺,感覺應該設計成  Intl.DisplayNames() 會傳的物件裡面會提供 getter 才對。


參考資料

[ developer.mozilla.org ] Intl.DisplayNames.prototype.resolvedOptions()

沒有留言:

張貼留言