2017-07-19 6 views
-3

スプレッド演算子を使用して3項演算子を作成し、2つのオブジェクトを移行しようとします。文字通りのオブジェクトで内側に広がった三項演算子を使用することは可能ですか?私のコードはうまくいく、私はそれを最適化したい。私はこのように書きたいステートメントを持つSpred演算子ES6

hintStyle: disabled ? {...globalStyles.hint, ...globalStyles.hintDisabled} : globalStyles.hint, 

hintStyle: {...globalStyles.hint, {disabled ? ...globalStyles.hintDisabled : {}}}, 
+3

それは動作しますか?そうでない場合は、エラーが発生しますか?もしそうなら、どのようなエラー?あなたが求めている質問は何ですか? –

+0

私の最初のコードは、3進演算子を使ってspread es6演算子をどのように使用するのかを示します。エラーは '予期しないトークン'です –

+0

'{disabled? ... globalStyles.hintDisabled:{}} ' – danielspaniol

答えて

4

はスプレッドis not an operatorが、それはオブジェクトリテラル構文の一部だ(あるいは提案が受け入れられたときに、少なくともそれはなります)。あなたは書く必要があります

{...globalStyles.hint, ...(disabled ? globalStyles.hintDisabled : {})}, 
関連する問題