如果浏览器不支持ES6模板文字,则创建错误消息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如果浏览器不支持ES6模板文字,则创建错误消息相关的知识,希望对你有一定的参考价值。

我一直在我的javascript中使用字符串文字。如果不支持字符串文字,我想显示一条错误消息。 caniuse

我的想法是,我将创建一个函数来查看浏览器是否正确解析字符串插值字符串

    var supportsStringInterpulation = false;
try {
    var stringInsert = 'is a';
    var stringTestExpected = "this " + stringInsert + " test";
    var stringTestAccual = `this ${stringInsert} test`;
    supportsStringInterpolation  = stringTestAccual === stringTestExpected;
}
catch (err) { console.error("failed to render ` ")}

如果它是对的,什么都不做

如果错误则浏览器不支持然后创建并给出错误消息。

我现在的问题是当我在IE 11中调试时,我预期的行为是它将失败测试并将supportsStringInterpulation = false进一步发送到我的代码,但它似乎打破并停止处理该脚本。

问题1

有没有办法将bool值返回到问题“当前浏览器是否支持ES6模板文字?

答案

是。这是eval的合法用途之一:

var supportsTemplateLiterals = false;
try {
    eval("`foo`");
    supportsTemplateLiterals = true;
}
catch (e) {
}
console.log("Supports template literals? " + supportsTemplateLiterals);

以上是关于如果浏览器不支持ES6模板文字,则创建错误消息的主要内容,如果未能解决你的问题,请参考以下文章