[Javascript] : 국제화 지원 API Intl - supportedValuesOf
마릴린벅시
2023. 2. 18. 15:01ㆍ개발
Intl의 함수를 사용하다 보면 옵션값으로 다양한 문자열을 넣게 된다. 이 때 어떤 문자열이 유효한지 조회하고 싶을 때 유용하게 사용할 수 있는 함수가 있다. 어떤 값을 넣어야 할지 헷갈리거나 모르겠을 때 Intl.supportedValuesOf함수의 리턴값을 참고하면 된다.
Intl.supportedValuesOf
먼저 이 함수를 브라우저에서 사용할 수 있는지 체크하려면 undefined와 비교하면 된다.
if (typeof Intl.supportedValuesOf !== "undefined") {
// undefined이 아니라면 사용이 가능한 것!
}
currency 조회하기
// currency옵션에 넣을 수 있는 나라별 금액표기 값이 출력된다.
console.log(Intl.supportedValuesOf('currency'));
// ["AED","AFN","ALL","AMD","ANG","AOA","ARS","AUD",
// "AWG","AZN","BAM","BBD","BDT","BGN","BHD","BIF",
// "BMD","BND","BOB","BRL","BSD","BTN","BWP","BYN",
// "BZD","CAD","CDF","CHF","CLP","CNY","COP","CRC",
// "CUC","CUP","CVE","CZK","DJF","DKK","DOP","DZD",
// "EGP","ERN","ETB","EUR","FJD","FKP","GBP","GEL",
// "GHS","GIP","GMD","GNF","GTQ","GYD","HKD","HNL",
// "HRK","HTG","HUF","IDR","ILS","INR","IQD","IRR",
// "ISK","JMD","JOD","JPY","KES","KGS","KHR","KMF",
// "KPW","KRW","KWD","KYD","KZT","LAK","LBP","LKR", => KRW 한국 발견!
// "LRD","LSL","LYD","MAD","MDL","MGA","MKD","MMK",
// "MNT","MOP","MRU","MUR","MVR","MWK","MXN","MYR",
// "MZN","NAD","NGN","NIO","NOK","NPR","NZD","OMR",
// "PAB","PEN","PGK","PHP","PKR","PLN","PYG","QAR",
// "RON","RSD","RUB","RWF","SAR","SBD","SCR","SDG",
// "SEK","SGD","SHP","SLL","SOS","SRD","SSP","STN",
// "SVC","SYP","SZL","THB","TJS","TMT","TND","TOP",
// "TRY","TTD","TWD","TZS","UAH","UGX","USD","UYU",
// "UZS","VES","VND","VUV","WST","XAF","XCD","XDR",
// "XOF","XPF","XSU","YER","ZAR","ZMW","ZWL"]
unit 조회하기
unit옵션에 사용할 수 있는 문자열이 출력된다. 그램, 킬로미터, 시간 등 다양한 유닛이 나온다.
console.log(Intl.supportedValuesOf('unit'));
// ["acre","bit","byte","celsius","centimeter","day","degree",
// "fahrenheit","fluid-ounce","foot","gallon","gigabit","gigabyte",
// "gram","hectare","hour","inch","kilobit","kilobyte","kilogram",
// "kilometer","liter","megabit","megabyte","meter","microsecond","mile",
// "mile-scandinavian","milliliter","millimeter","millisecond","minute","month",
// "nanosecond","ounce","percent","petabyte","pound","second","stone","terabit",
// "terabyte","week","yard","year"]
supportedValuesOf 함수의 인자로 넣을 수 있는 값들
// calendar, collation, currency, numberingSystem, timeZone, unit 등이 있다.
console.log(Intl.supportedValuesOf('calendar'));
console.log(Intl.supportedValuesOf('collation'));
console.log(Intl.supportedValuesOf('currency'));
console.log(Intl.supportedValuesOf('numberingSystem'));
console.log(Intl.supportedValuesOf('timeZone'));
console.log(Intl.supportedValuesOf('unit'));
// 인자로 넣은 값에서 오류가 발생할 것을 방지하기 위해서 try-catch문으로 감싸줄 수 있다.
try {
Intl.supportedValuesOf('someInvalidKey');
} catch (err) {
console.log(err.toString());
// Expected output: RangeError: invalid key: "someInvalidKey"
}
반응형
'개발' 카테고리의 다른 글
[Javascript] Scope란? 그리고 가비지컬렉터 (1) | 2023.02.19 |
---|---|
[Javascript] : 국제화 지원 API Intl - RelativeTimeFormat (1) | 2023.02.18 |
[Javascript] : 국제화 지원 API Intl - NumberFormat (0) | 2023.02.18 |
[Javascript] : 국제화 지원 API Intl - DateTimeFormat (0) | 2023.02.15 |
[Javascript] null, undefined, NaN의 차이 (0) | 2023.02.12 |