回答編集履歴

4

  

2022/04/12 14:06

投稿

退会済みユーザー
test CHANGED
@@ -10,10 +10,10 @@
10
10
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-12/dbf5a501-af70-4e77-aa81-c94ae3e33044.png)
11
11
   
12
12
  # 原因
13
- 「let」は、新しいバージョンのJavaScript(ES2015以降)で有効なキーワードです。
13
+ ブロックスコープのローカル変数を宣言するための「let」は、一般的に、新しいバージョンのJavaScript(ES2015以降)で有効なキーワードです。
14
14
 
15
15
  Google Apps Scriptでは、V8エンジンを有効にしていない場合、古いバージョンのJavaScriptに準拠した言語エンジンが使用されます。
16
- すると、letはキーワードではなく、変数名として解釈されてしまいます。
16
+ すると、letは上述の機能を実現するためのキーワードではなく、単なる変数名として解釈されてしまいます。
17
17
  V8エンジンが有効でない状態で
18
18
  ```
19
19
  for(let i=0; i<1; i++){

3

2022/04/12 14:03

投稿

退会済みユーザー
test CHANGED
@@ -20,6 +20,6 @@
20
20
  }
21
21
  ```
22
22
  を実行した場合
23
- 「let」という変数を置いた後let初期化することなく続けているとみなされ
23
+ 「let」という変数を置いた後、「;」付けずに続けているとみなされ
24
24
  「構文エラー: Missing ; after for-loop initializer.」が発生します。
25
25
 

2

 

2022/04/12 13:56

投稿

退会済みユーザー
test CHANGED
@@ -16,7 +16,7 @@
16
16
  すると、letはキーワードではなく、変数名として解釈されてしまいます。
17
17
  V8エンジンが有効でない状態で
18
18
  ```
19
- for (for(let i=0; i<1; i++){
19
+ for(let i=0; i<1; i++){
20
20
  }
21
21
  ```
22
22
  を実行した場合

1

 

2022/04/12 13:55

投稿

退会済みユーザー
test CHANGED
@@ -1,3 +1,4 @@
1
+ # 解決策
1
2
  次のいずれかを試してください。
2
3
 
3
4
  + クラシックエディタを使っている場合は、メニューの「実行」から、「Chrome V8を搭載した新しいApps Scriptランタイムを有効にする」を選択してください
@@ -7,4 +8,18 @@
7
8
  + 新しいエディタを使っている場合は、左側にある歯車のアイコンをクリックし、
8
9
  「Chrome V8ランタイムを有効にする」にチェックを入れてください。
9
10
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-12/dbf5a501-af70-4e77-aa81-c94ae3e33044.png)
11
+  
12
+ # 原因
13
+ 「let」は、新しいバージョンのJavaScript(ES2015以降)で有効なキーワードです。
10
14
 
15
+ Google Apps Scriptでは、V8エンジンを有効にしていない場合、古いバージョンのJavaScriptに準拠した言語エンジンが使用されます。
16
+ すると、letはキーワードではなく、変数名として解釈されてしまいます。
17
+ V8エンジンが有効でない状態で
18
+ ```
19
+ for (for(let i=0; i<1; i++){
20
+ }
21
+ ```
22
+ を実行した場合
23
+ 「let」という変数を置いた後に、letを初期化することなく続けているとみなされ
24
+ 「構文エラー: Missing ; after for-loop initializer.」が発生します。
25
+