Help us understand the problem. What is going on with this article?

Google Apps Scriptで使えるJSのバージョンについて調査

More than 1 year has passed since last update.

はじめに

未来になると拡張されてると思うので 2019/02/27 時点での話です。

対応しているバージョン

  • https://developers.google.com/apps-script/guides/services/#basic_javascript_features
  • 公式にはJavaScript 1.6をベースにしていて1.7と1.8のfeatureも少し入ってるよ、というアナウンス
    • 何が入ってて何が入ってないは書いていないので読者の想像に任せられている... :poop:
  • :arrow_up: の記事から各バージョンへのリンクはMDNに向けて貼られているのでMDNでのスペックで調べてます

1.6

feature 対応状況
E4X :o:
Arrayの拡張 :o:
Array および String の汎用化 :o:

1.7

feature 対応状況
ジェネレータ (yield) :x:
イテレータ :o:
配列内包 :o:
let :x:
分割代入 :o:

1.8

1.8.11.8.5のfeatureも含む

feature 対応状況
式クロージャ :x:
ジェネレータ式 :x:
Array.reduce :o:
Array.reduceLight :o:
Object.getPrototypeOf :o:
Using Native JSON :o:
Object.create :o:
Object.defineProperty :o:
Object.defineProperties] :o:
Object.getOwnPropertyDescriptor :o:
Object.keys :o:
Object.getOwnPropertyNames :o:
Object.preventExtensions :o:
Object.isExtensible :o:
Object.seal :o:
Object.isSealed :o:
Object.freeze :o:
Object.isFrozen :o:
Array.isArray :o:
Date.toJSON :o:
getter/setter :o:
strictモードのサポート :question:
Proxy :x:

まとめ

  • 意外と対応していたのでGASがんばってる
  • polyfillが使えないんでES7で入った仕様とかはGASだと現状は動きません :cry:
    • たとえば Array.prototype.includes
  • strictモードのサポートが :question: になっているのはちゃんとエラーになるケースならないケースがあったので部分的に対応してるようだったからです
bm-sms
高齢社会に適した情報インフラを構築することで価値を創造し社会に貢献し続ける
https://www.bm-sms.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away