このページの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; | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | \\ |