在模块级别或功能级别定义const的性能差异

时间:2018-06-27 15:50:13

标签: ecmascript-6 v8

对于诸如字符串文字之类的常量之类的常量可能被功能多次使用的函数来说,具有更好的性能,是在模块级别或在使用它们的函数内部对其进行定义吗?

模块级别:

const URL = 'http://example.org';
function foo() {
  return URL;
}

功能级别:

function foo() {
  const url = 'http://example.org';
  return url;
}

1 个答案:

答案 0 :(得分:2)

Strings are interned在普通引擎中(至少对于文字是肯定的),因此没有任何区别。只是写

function foo() {
  return 'http://example.org';
}