GASで「SyntaxError: Unexpected identifier」が出たときに、まず見る場所と直す手順【初心者向け】

この記事の内容について、業務や開発でお困りの場合は個別に対応できます。

Google Apps Script を書いていると、コードは合っている“つもり”なのに、突然 SyntaxError: Unexpected identifier が出て止まることがあります。
このエラーは「文法が途中で壊れたとき」に必ず出ますが、実際にはチェックすべきポイントがいくつかに絞られています。ここでは、初心者でもすぐに原因にたどり着けるよう、確認すべき場所と直し方をコンパクトに整理します。


■ 1. カンマ・括弧・波括弧の抜けをチェックする

最も多い原因が 構文の途中抜け です。

よくある例

const obj = {
  name: "Taro"
  age: 20   // ← カンマ抜け
};

これだけで Unexpected identifier が発生します。

チェックポイント

  • オブジェクト {} の中の カンマ
  • 配列 []カンマ
  • 関数の () の閉じ忘れ
  • if / for / function の {} の閉じ忘れ

GAS は括弧が1つ欠けただけでもこのエラーを返します。


■ 2. テンプレートリテラル内のバッククォート抜け

バッククォート(`)を使った文字列でのミスも頻発します。

const text = `Hello ${name};   // ← 最後の`抜け

バッククォートが閉じていないと、以降すべてが「予期しない識別子」扱いになります。


■ 3. let / const の重複・途中宣言の崩れ

意外と多いのが宣言のミス。

let name = "Taro"
let age = 20  // セミコロン抜けで次の行が誤解釈されるケースもある

また、同じ変数名を const で二度宣言 すると構文エラーになります。


■ 4. コピペしたコードに全角スペースが混在している

StackOverflow や Qiita からコピーしたコードに
隠れ全角スペース が入っていると、GAS は識別子として認識します。

const name = "Taro"; // ← 「const」と「name」の間が全角

■ 5. import など未サポート構文を使っている

GAS では import / export / require など ESModules 構文が基本使えません。

import { func } from './utils.js';

これも「Unexpected identifier」につながります。


■ 6. 直し方の最短ルート(実務で使っている手順)

私が GAS 開発案件で実際にやっている流れです。

  1. エラーの行番号を見る(ただし1つ前の行が真犯人のことが多い)
  2. カンマ・括弧・バッククォートの抜けをチェック
  3. 該当箇所を 一度削除 → 手で書き直す(コピペ残骸を消すため)
  4. それでも直らなければ、
    エディタの自動整形(Ctrl+Shift+I) をかける
  5. 最後にログを入れて少しずつ動作確認

■ 7. よくある“実際のエラー例”と修正例

▼ 修正前(エラー)

function myFunc() {
  const user = {
    name: "kazu"
    email: "test@example.com"
  }

  Logger.log(user)
}

▼ 修正後

function myFunc() {
  const user = {
    name: "kazu",
    email: "test@example.com",
  };

  Logger.log(user);
}

ZIDOOKA!

この記事の内容について、対応できます

この記事に関連する技術トラブルや開発上の問題について個別対応を行っています。

個別対応は3,000円〜 内容・工数により事前にお見積りします
最後までお読みいただきありがとうございました

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

AI活用に関するポリシー

当サイトでは、記事の執筆補助にAIを活用する場合がありますが、全面的な委任は行いません。