ただし、三項演算子が通常に戻る前に文字列連結子と文字列を削除します。 リーリー
リーリー ###解決?曾经蜡笔没有小新2017-05-19 10:19:40
最初:
三項演算子とは何ですか?
{1} ? {2} : {3} ;
JS エンジンが最初に実行されます Boolean({1})
如果为 True
则返回 {2}
,False
则返回{3}
次に:
"she is "+true === "she is true" //厳密に等しい
so
Boolean( "彼女は "+true) === Boolean("彼女は true") // True と等しい
Boolean("she is "+false) === Boolean("she is false") // True とも等しい
ただし: false? "?":"nt"+" here."
の false はブール値です。
ブール値(false) === false
ブール値(true) === true
高洛峰2017-05-19 10:19:40
これは 演算子の優先順位の問題
です。まず、+
(文字列連結演算子) は ?:
(三項演算子) は優先度が高いため、运算符优先级问题
. 首先+
(字符串连接运算符)优先级比?:
(三目运算符)优先级高,所以先执行+
运算符.
所以两种情况下,分别得到"she is "+true
和"she is "+false
.
再执行三目元算符,但是"she is "+true
和"she is "+false
(String
,除了""
)转换成Boolean
均为true
. 所以三目运算符条件为真,所以得到结果为"?"
は最初に +
演算子 を実行します。
したがって、この 2 つのケースでは、"she is "+true / code> と
"彼女は "+false
です。
"彼女は "+true
と "彼女は「+false
(String
、""
を除く) を Boolean
に変換すると、すべて true code> になります」したがって、三項演算子の条件は true なので、結果は "?"
になります。返事0