【Cocos Creator】【2.4】什么是 babel 编译器?Support via polyfill 又是什么?

babel 编译器

浏览以下文章:

查阅相关资料后,Babel 的功能定位是这样的:

Babel 是一款 JavaScript 编译器 主要用于在旧的浏览器或环境中将 ECMAScript 2015+
代码转换为向后兼容版本的 JavaScript 代码。

相关资源

Support via polyfill 又是什么?

Learn ES2015 中,我们可以搜索 Support via polyfill,可以看到,ES2015 的某些功能特性,是通过 Babel polyfill 进行支持的。

而这些需要通过 Babel polyfill 支持的特性,Creator 官方 2.4 的手册 中写明了,是暂时不支持的。
那么我们将不支持的特性列一列:

  • Iterators 迭代器定义的功能
let fibonacci = {
  [Symbol.iterator]() {
    let pre = 0, cur = 1;
    return {
      next() {
        [pre, cur] = [cur, pre + cur];
        return { done: false, value: cur }
      }
    }
  }
}

for (var n of fibonacci) {
  // truncate the sequence at 1000
  if (n > 1000)
    break;
  console.log(n);
}
interface IteratorResult {
  done: boolean;
  value: any;
}
interface Iterator {
  next(): IteratorResult;
}
interface Iterable {
  [Symbol.iterator](): Iterator
}
  • Generators 生成器
var fibonacci = {
  [Symbol.iterator]: function*() {
    var pre = 0, cur = 1;
    for (;;) {
      var temp = pre;
      pre = cur;
      cur += temp;
      yield cur;
    }
  }
}

for (var n of fibonacci) {
  // truncate the sequence at 1000
  if (n > 1000)
    break;
  console.log(n);
}
interface Generator extends Iterator {
    next(value?: any): IteratorResult;
    throw(exception: any);
}
  • In order to support Maps, Sets, WeakMaps, and WeakSets in all environments you must include the Babel polyfill. (从使用的角度看,Creator 是支持这部分内容)

  • Symbols (尚未确定是否支持)

  • Promises (支持)

  • Reflect 反射

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值