取得 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()
沒有留言:
張貼留言