このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
|
js:module [2021/06/16 10:09] tanaka |
js:module [2021/07/05 10:36] (現在) y2sunlight [グローバルスコープに関する注意] |
||
|---|---|---|---|
| 行 149: | 行 149: | ||
| モジュールの機能は単独のスクリプトのスコープに対してインポートされます。インポートされた機能はインポートしたスクリプトの内部からしかアクセスできません。即ち、インポートされた機能はグローバルスコープから利用することはできません。 | モジュールの機能は単独のスクリプトのスコープに対してインポートされます。インポートされた機能はインポートしたスクリプトの内部からしかアクセスできません。即ち、インポートされた機能はグローバルスコープから利用することはできません。 | ||
| + | |||
| + | また、モジュールの場合、自動的に [[https:// | ||
| <sxh html; | <sxh html; | ||
| 行 160: | 行 162: | ||
| <script type=" | <script type=" | ||
| < | < | ||
| - | console.log(abc_school.name); | + | |
| + | | ||
| + | foo_school = new School(' | ||
| </ | </ | ||
| </ | </ | ||
| 行 166: | 行 170: | ||
| </ | </ | ||
| + | <sxh javascript; | ||
| + | import { School } from ' | ||
| + | |||
| + | var local_school = new School(' | ||
| + | console.log(local_school.name); | ||
| + | |||
| + | // モジュール内ではグローバルスコープを持つ変数が作成できない。 | ||
| + | // global_school = new School(' | ||
| + | // console.log(global_school.name); | ||
| + | </ | ||
| + | |||
| + | <sxh javascript; | ||
| + | export class School { | ||
| + | constructor(name) { | ||
| + | // プロパティの定義 | ||
| + | this.name = name; | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | \\ | ||