2016-08-02 5 views
1

内の文字列を受け付ける機能を許可する:私は配列や文字列を受け入れることができる機能を持っている配列やフロー

/* @flow */ 
type Product = Array<string> | string 

function printProducts(product: Product) { 
    if (product.constructor === 'array') { 
     product.map(p => console.log(p)) 
    } else { 
     console.log(product) 
    } 
} 

フローは、「文字列には見られない性質Mapを」文句を言います。これを満たすためにタイプ定義を変更するにはどうすればよいですか?

答えて

3

この場合Array.isArrayでの使用はサポートdynamic type testsの1、:

/* @flow */ 
type Product = Array<string> | string 

function printProducts(product: Product) { 
    if (Array.isArray(product)) { 
     product.map(p => console.log(p)) 
    } else { 
     console.log(product) 
    } 
} 
関連する問題