단, 문자열 연결 연산자와 삼항 연산자 앞의 문자열을 제거하면 정상으로 돌아옵니다
으아악해결책이 필요하신가요?
曾经蜡笔没有小新2017-05-19 10:19:40
첫 번째:
삼항 연산자가 무엇인가요?
{1} ? {2} : {3} ;
JS 엔진은 True
인 경우 먼저 Boolean({1})
을 실행한 다음 {2를 반환합니다. }< /code>,
False
는 {3}
Boolean({1})
如果为 True
则返回 {2}
,False
则返回{3}
然后:
"she is "+true === "she is true" //严格相等
所以
Boolean("she is "+true) === Boolean("she is true") // 等于 True
Boolean("she is "+false) === Boolean("she is false") // 也等于 True
但是:false? "?":"nt"+" here."
를 반환합니다. 그러면:
false? "?":"nt"+" 여기서."
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
. 所以三目运算符条件为真,所以得到结果为"?"
은 +
연산자를 먼저 실행합니다.
따라서 두 경우에서< 코드를 얻습니다. >"그녀는 "+true이고 "그녀는 "+false
입니다.
" "+true
및 "는 "+false
(문자열
, ""
제외)가 부울
로 변환됩니다. code>는 모두 true
입니다. 따라서 삼항 연산자의 조건이 true이므로 결과는 "?"
입니다.#🎜🎜#