Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
19
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

Organization

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

はじめに

未来になると拡張されてると思うので 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: になっているのはちゃんとエラーになるケースならないケースがあったので部分的に対応してるようだったからです
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
19
Help us understand the problem. What are the problem?