mdn: https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/import.meta
## 概要
`import.meta` オブジェクトはコンテキスト固有のメタデータを JavaScript のモジュールに公開する。これには、モジュールの URL のようなモジュールに関する情報が含まれる。
構文
```js
import.meta
```
構文は `import` キーワードとドット、プロパティ名の `meta` で構成されている。通常、ドットのプロパティアクセスが実行されるオブジェクトだが、ここでの `import` はオブジェクトではない。
`import.meta` オブジェクトは ECMAScript 実装によって生成され、プロトタイプは `null` となる。オブジェクトは拡張でき、そのプロパティは書き込み、構成、列挙可能である。
## 実際に使用
`my-modules.msj` モジュールを指定する。
```html
<script type="module" src="my-module.js"></script>
```
`import.meta` オブジェクトを使用してモジュールのメタ情報にアクセスできる。
```js
console.log(import.meta);
// { url: "file:///home/user/my-module.js" }
```
モジュールのベース URL を示す `url` プロパティを持つオブジェクトを返す。そのまま読みたいなら、`import.meta.url` を使用すればよい。
使用例
[[Denoでデータ取得|deno fetch]]
## RPEL では使用できない
[[DenoのREPL|deno repl]] で見てみようと思っても、モジュール外では利用できないというエラーが表示される。
```js
❯ deno
Deno 1.33.3
exit using ctrl+d, ctrl+c, or close()
REPL is running with all permissions allowed.
To specify permissions, run `deno repl` with allow flags.
> import.meta
Uncaught SyntaxError: Cannot use 'import.meta' outside a module
```