在 Firefox 控制台而不是 Chrome 控制台中重新声明 class 时出错
Error when redeclaring class in Firefox console but not in Chrome console
class Picture {
constructor(icon) {
this.icon = icon
}
}
当我在 Chrome 控制台中两次 运行 这段代码时,它不会抛出任何错误。
但是当我在 Firefox 控制台中尝试 运行ning 两次时,它显示 Uncaught SyntaxError: redeclaration of let Picture
。为什么浏览器的行为不同?
A class 无法重新定义。它实际上是一个块范围变量。
If you're experimenting with code in a web browser, such as the Firefox Web Console (Tools > Web Developer > Web Console) and you 'Run' a definition of a class with the same name twice, you'll get a SyntaxError: redeclaration of let ClassName;
chrome 控制台允许重新声明 let/const
。 运行 下面的语句两次:
let x = 2;
and this link from Chrome blog
但不允许在同一控制台行内重新声明。
class Picture {
constructor(icon) {
this.icon = icon
}
}
当我在 Chrome 控制台中两次 运行 这段代码时,它不会抛出任何错误。
但是当我在 Firefox 控制台中尝试 运行ning 两次时,它显示 Uncaught SyntaxError: redeclaration of let Picture
。为什么浏览器的行为不同?
A class 无法重新定义。它实际上是一个块范围变量。
If you're experimenting with code in a web browser, such as the Firefox Web Console (Tools > Web Developer > Web Console) and you 'Run' a definition of a class with the same name twice, you'll get a SyntaxError: redeclaration of let ClassName;
chrome 控制台允许重新声明 let/const
。 运行 下面的语句两次:
let x = 2;
但不允许在同一控制台行内重新声明。