このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
|
js:module [2021/06/16 09:46] tanaka [importしたメンバの別名] |
js:module [2021/07/05 10:36] (現在) y2sunlight [グローバルスコープに関する注意] |
||
|---|---|---|---|
| 行 72: | 行 72: | ||
| <sxh javascript; | <sxh javascript; | ||
| - | import {School as MySchool, Student as MyStudent} from ' | + | import {School as MySchool, Student as MyStudent} from ' |
| var abc_school= new MySchool(' | var abc_school= new MySchool(' | ||
| var suzuki= new MyStudent(' | var suzuki= new MyStudent(' | ||
| 行 81: | 行 81: | ||
| アスタリスク( '' | アスタリスク( '' | ||
| - | <sxh javascript; | + | <sxh javascript; |
| - | import * as school from ' | + | import * as school from ' |
| var abc_school= new school.School(' | var abc_school= new school.School(' | ||
| var suzuki= new school.Student(' | var suzuki= new school.Student(' | ||
| 行 103: | 行 103: | ||
| <sxh javascript; | <sxh javascript; | ||
| - | import School from ' | + | import School from ' |
| var abc_school= new School(' | var abc_school= new School(' | ||
| </ | </ | ||
| 行 150: | 行 150: | ||
| モジュールの機能は単独のスクリプトのスコープに対してインポートされます。インポートされた機能はインポートしたスクリプトの内部からしかアクセスできません。即ち、インポートされた機能はグローバルスコープから利用することはできません。 | モジュールの機能は単独のスクリプトのスコープに対してインポートされます。インポートされた機能はインポートしたスクリプトの内部からしかアクセスできません。即ち、インポートされた機能はグローバルスコープから利用することはできません。 | ||
| + | また、モジュールの場合、自動的に [[https:// | ||
| - | > TODO 例を書く | + | <sxh html; |
| + | < | ||
| + | <html lang=" | ||
| + | < | ||
| + | <meta charset=" | ||
| + | < | ||
| + | </ | ||
| + | < | ||
| + | <script type=" | ||
| + | < | ||
| + | // local_schoolはモジュールの内部からしかアクセスできない | ||
| + | console.log(local_school.name); | ||
| + | foo_school = new School(' | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | </sxh> | ||
| + | <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; | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | \\ | ||