diff --git a/src/utils/text-measurement.ts b/src/utils/text-measurement.ts index 71c6fde133..319915df8b 100644 --- a/src/utils/text-measurement.ts +++ b/src/utils/text-measurement.ts @@ -14,14 +14,14 @@ */ class TextMeasurement { _ctx: CanvasRenderingContext2D; - _cache: { [id: string]: number }; + _cache: Map; _averageCharWidth: number; overflowChar: string; minWidth: number; constructor(ctx: CanvasRenderingContext2D) { this._ctx = ctx; - this._cache = {}; + this._cache = new Map(); this._averageCharWidth = this._calcAverageCharWidth(); // TODO - L10N @@ -50,12 +50,12 @@ class TextMeasurement { * @return {number} The text width. */ getTextWidth(text: string): number { - const cachedWidth = this._cache[text]; + const cachedWidth = this._cache.get(text); if (cachedWidth !== undefined) { return cachedWidth; } const metrics = this._ctx.measureText(text); - this._cache[text] = metrics.width; + this._cache.set(text, metrics.width); return metrics.width; }