2009-08-06 10 views
1
 
If I use an Assignment within conditional, for e.g. 
if(userType='admin') 
Flex throws a warning,unlike Java, which throws an error. 
Why should Flex be doing this, despite being one of the newest languages? 

1100: Assignment within conditional. Did you mean == instead of =? 

答えて

1

ない。この違いは、最近のJava化にもかかわらず、ActionscriptがECMAScriptの由来であるためです。この設計の他の結果は、このようなステートメントを作る能力です:

var foo:Number = 0; 
var bar:Number = 0; 
foo = bar = 2; 
assertEquals(2, foo); 
assertEquals(2, bar); 

IMO、これは、それが持つことができる最高の行動である - それは、ActionScriptの旧バージョンとの互換性を破壊しない、それが削除されません手持ち式のための言語機能を提供していますが、ユーザーの注意を引くのは一般的なエラーです。

0

私の推測では、おそらくコンパイラは自動的にそれを修正するでしょうか?

Flexがそうするのは面白いですが。

(およびところで、それはActionScript 3のだ、「フレックス」ではありません)の割り当ては、その構文が合法になりActionScriptで値を持っている、と彼らはそれを作るされ、Javaで値を持っていないので

関連する問題