1

我正在阅读有关 lit-html 及其工作原理的信息

但我不明白他们如何将strings参数用作缓存键。我已经在 mdn 中阅读了有关 Map 的信息,但我没有找到任何解释 Mapgetset工作原理的内容。

我的问题是如何将论点strings用作关键。基本上 Map 如何存储键,因为键可以是任何东西。

// Store how many times we've seen each literal
let counts = new Map();

// A template tag that updates the count storage and longs the count
let count = (strings) => {
  // The strings object is our Map key
  let c = (counts.get(strings) || 0) + 1;
  counts.set(strings, c);
  console.log(`literal ${strings.join('')} seen ${c} time(s)`);
};

// Two functions that evaluate to different tagged literals
let f = (text) => count`abc`;
let g = (text) => count`def`;

f();
f();
g();

4

0 回答 0