2017-10-09 13 views
0

私はこのソースコードに出くわしました。 私は最初の行理解していない:ES6で下取りインポート

import type { a, b, c, d } from 'types'

あなたが説明してもらえ

import { a, b, c, d } from 'types' との違いは何ですが?おかげでMDNから

import type { a, b, c, d } from 'types'// not sure what it does 
 
import { a, b, c, d } from 'types' // I am familar with this

+3

'type'という単語の後にコンマがありますか? –

+0

いいえ、コンマはありません。コードは期待どおりに動作しますが、コンマの紛失は実際に私を混乱させています – Radex

+2

コードフロータイプ – Radex

答えて

3

としてそれを使用したい場合は

// Here you are importing the actual method, variable from the file. 
import xyz from 'abc';` 

// Here you are importing the type defination of xyz 
import type { xyz } from 'abc'; 

は今、これはバニラはJavaScript import使い方ではありません。これは、おそらくフロー、または密接に関連する翻訳された言語です。

フロープロジェクトのブログ投稿Announcing Import Typeが見つかりました。私はフローを知らないが、JavaScriptの厳密にタイプのスーパーセットのように見える。 import typeステートメントは、クラス自体をインポートせずにクラスに関する型情報をインポートする方法です。関数の中で途方もない型仮引数を宣言し、適切な型をインポートする必要がある場合の例を示します。

import type {Crayon, Marker} from 'WritingUtensils'; 
module.exports = function junkDrawer(x: Crayon, y: Marker): void {} 
-2

、OPから行方不明コマスは奇妙ですが:

デフォルトをインポート

:デフォルトのエクスポートを持つことが可能である(それ がオブジェクトであるかどうか、関数、クラスなど)を指定します。 import文は、 を使用してそのようなデフォルトをインポートすることができます。

最も単純なバージョンは、直接、デフォルトのインポート:

import myDefault from '/modules/my-module.js';

それは(名前空間のインポートまたは 命名輸入)の上に見られるもので、デフォルトの構文を使用 することも可能です。このような場合、デフォルトのインポートは最初に である必要があります。例えば:つまり

import myDefault, {foo, bar} from '/modules/my-module.js'; // specific, named imports

、これはmyDefaultとしてデフォルトをインポートし、名前の輸出をインポートします。

1

ファイルから型定義をインポートしています。あなたは

let a: xyz = new xyz();

関連する問題