如何在 Chrome 中禁用 ES6 功能
How to disable ES6 features in Chrome
发现 javascript 在 Chrome 以及所有其他现代浏览器中的行为非常奇怪且不明显。
假设我们有 Html 和 javascript 这样的
<html>
<title>
</title>
<body>
<h1>Hello world!</h1>
<script type="text/javascript">
var me = {
func1: function(){
console.log('Im function 1');
},
func2(){
console.log('Im function 2');
}
};
me.func1();
me.func2();
</script>
</body>
当您在 chrome 中 运行 时,您将在控制台中看到:
Im function 1
Im function 2
但是当你在 IE11 中 运行 这个时你会得到一个错误
SCRIPT1003: Expected ':'
JavascriptTest.html (11,10)
据我所知,在 ES6 中不需要将函数声明为 func1,chrome 也很满意像 func2
这样的声明
var me = {
func1: function(){
console.log('Im function 1');
},
func2(){
console.log('Im function 2');
}
};
但对于 IE11 来说这很重要。在服务器端和客户端编写代码时,这是常见的错误。
我在 chrome 中寻找禁用此类功能的方法,是否可行?
您不能在 Chrome 中禁用 ES2015+ 语言功能,不能。
您可以使用 "linter" 工具(如 ESLint)检查您的代码,确保其中没有您不想要的东西。例如,那个特定的有一个 ecmaVersion
setting ,您可以使用它来控制文件中应该和不应该允许的语法;想必其他人也有。
另一个选择(也是我对自己工作的偏好)是使用新功能,即使我的目标浏览器不支持它们,并且 transpile 回到 ES5(在我的情况是 Babel)。这样,即使我必须支持 IE,我也可以获得新功能的优势。
发现 javascript 在 Chrome 以及所有其他现代浏览器中的行为非常奇怪且不明显。 假设我们有 Html 和 javascript 这样的
<html>
<title>
</title>
<body>
<h1>Hello world!</h1>
<script type="text/javascript">
var me = {
func1: function(){
console.log('Im function 1');
},
func2(){
console.log('Im function 2');
}
};
me.func1();
me.func2();
</script>
</body>
当您在 chrome 中 运行 时,您将在控制台中看到:
Im function 1
Im function 2
但是当你在 IE11 中 运行 这个时你会得到一个错误
SCRIPT1003: Expected ':'
JavascriptTest.html (11,10)
据我所知,在 ES6 中不需要将函数声明为 func1,chrome 也很满意像 func2
这样的声明var me = {
func1: function(){
console.log('Im function 1');
},
func2(){
console.log('Im function 2');
}
};
但对于 IE11 来说这很重要。在服务器端和客户端编写代码时,这是常见的错误。 我在 chrome 中寻找禁用此类功能的方法,是否可行?
您不能在 Chrome 中禁用 ES2015+ 语言功能,不能。
您可以使用 "linter" 工具(如 ESLint)检查您的代码,确保其中没有您不想要的东西。例如,那个特定的有一个 ecmaVersion
setting ,您可以使用它来控制文件中应该和不应该允许的语法;想必其他人也有。
另一个选择(也是我对自己工作的偏好)是使用新功能,即使我的目标浏览器不支持它们,并且 transpile 回到 ES5(在我的情况是 Babel)。这样,即使我必须支持 IE,我也可以获得新功能的优势。