Object.prototype.toLocaleString()
toLocaleString()
方法是 Object
实例的方法,它返回表示此对象的字符串。此方法旨在被派生对象为了特定于区域设置的目的而覆盖。
试一试
语法
js
toLocaleString()
参数
无。但是,所有覆盖此方法的对象都应最多接受两个参数,分别对应于 locales
和 options
,例如 Date.prototype.toLocaleString
。参数位置不应用于任何其他目的。
返回值
调用 this.toString()
的返回值。
描述
所有从 Object.prototype
继承的对象(即,除了 null
原型对象 之外的所有对象)都继承 toLocaleString()
方法。 Object
的 toLocaleString
返回调用 this.toString()
的结果。
提供此函数是为了让对象拥有一个通用的 toLocaleString
方法,即使并非所有对象都会使用它。在核心语言中,这些内置对象会覆盖 toLocaleString
以提供特定于区域设置的格式。
示例
使用基本 toLocaleString() 方法
基本 toLocaleString()
方法仅调用 toString()
。
js
const obj = {
toString() {
return "My Object";
},
};
console.log(obj.toLocaleString()); // "My Object"
Array toLocaleString() 覆盖
Array.prototype.toLocaleString()
用于通过调用每个元素的 toLocaleString()
方法并将结果用特定于区域设置的分隔符连接起来,从而将数组值打印为字符串。例如
js
const testArray = [4, 7, 10];
const euroPrices = testArray.toLocaleString("fr", {
style: "currency",
currency: "EUR",
});
// "4,00 €,7,00 €,10,00 €"
Date toLocaleString() 覆盖
Date.prototype.toLocaleString()
用于打印出更适合特定区域设置的日期显示。例如
js
const testDate = new Date();
// "Fri May 29 2020 18:04:24 GMT+0100 (British Summer Time)"
const deDate = testDate.toLocaleString("de");
// "29.5.2020, 18:04:24"
const frDate = testDate.toLocaleString("fr");
// "29/05/2020, 18:04:24"
Number toLocaleString() 覆盖
Number.prototype.toLocaleString()
用于打印出更适合特定区域设置的数字显示,例如使用正确的分隔符。例如
js
const testNumber = 2901234564;
// "2901234564"
const deNumber = testNumber.toLocaleString("de");
// "2.901.234.564"
const frNumber = testNumber.toLocaleString("fr");
// "2 901 234 564"
规范
规范 |
---|
ECMAScript 语言规范 # sec-object.prototype.tolocalestring |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。