2024年9月23日 星期一

再探 Intl.ListFormat()

 再探 Intl.ListFormat()

前言

  在先前的 初探 Intl.ListFormat() 介紹了使用各種 type 後的結果差異,會引響結果的參數還有 style ,在此把學習的過程做個紀錄。


內容

  範例如下

const itemList = ['A', 'B', 'C' , 'D' ];
//
console.log( new Intl.ListFormat('zh-TW', {
  style: 'long',
  type: 'conjunction',
}).format(itemList) );//A、B、C和D
//
console.log( new Intl.ListFormat('zh-TW', {
  style: 'short',
  type: 'conjunction',
}).format(itemList) );//A、B、C和D
//
console.log( new Intl.ListFormat('zh-TW', {
  style: 'narrow',
  type: 'conjunction',
}).format(itemList) );//A、B、C和D
//
console.log( new Intl.ListFormat('en', {
  style: 'long',
  type: 'conjunction',
}).format(itemList) );//A, B, C, and D
//
console.log( new Intl.ListFormat('en', {
  style: 'short',
  type: 'conjunction',
}).format(itemList) );//A, B, C, & D
//
console.log( new Intl.ListFormat('en', {
  style: 'narrow',
  type: 'conjunction',
}).format(itemList) );//A, B, C, D
//
console.log( new Intl.ListFormat('en', {
  style: 'long',
  type: 'unit',
}).format(itemList) );//A, B, C, D


這次調整 style 的參數,可以是 long 、 short 與 narrow ,預設是 long ,範例的地區使用 zh-TW 時發現這三種參數結果是一樣的!但當地區改成 en 後,結果就有差異 ,使用 short 後會發現 and 會被戴換成 & ,使用 narrow 後更是發現連 and 都不見了!結果會和把 type 輸入 unit 的結果一樣,也就是說當 type 是 conjuction 時不一定都會顯示 and ,還要看 style 與地區的參數才能決定是否有 and。 


參考資料

[ developer.mozilla.org ] Intl.ListFormat


相關文章與資料

初探 Intl.ListFormat()

沒有留言:

張貼留言