You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

仅IE浏览器提示‘Expected identifier’错误,代码排查求助

解决IE中"Expected identifier"错误的方案

嘿,我来帮你搞定这个IE专属的报错问题!

问题根源

Internet Explorer(尤其是IE11及更早版本)完全不支持ES6的对象解构赋值语法,你代码里的这一行就是报错的核心:

let {url,mobile2} = profile.val();

另外,IE11也不支持ES6里的对象字面量简写(也就是{url,mobile2}这种写法),这也是潜在的兼容隐患。

修改后的兼容代码

把ES6语法换成IE支持的ES5写法就可以解决问题了:

var ref = firebase.database().ref("products");
ref.once("value", function(snapshot) {
  var profiles2 = [];
  snapshot.forEach(function(profile) {
    // 替换解构赋值,手动获取属性
    var profileData = profile.val();
    var url = profileData.url;
    var mobile2 = profileData.mobile2;
    // 用完整的键值对形式创建对象,替代ES6简写
    profiles2.push({url: url, mobile2: mobile2});
  });
});

额外建议

如果你的项目有使用构建工具(比如Webpack、Rollup),可以配置Babel来自动将ES6代码转译为ES5,这样你就能继续写顺手的ES6语法,同时自动兼容IE这类旧浏览器,不用每次手动改代码。

内容的提问来源于stack exchange,提问作者Alejandro Castro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:48:56