문자열의 사전적 비교
주어진 코드 조각에서 문자열 "11"과 "3"의 비교는 다음과 같은 이유로 호기심을 불러일으킵니다. 예상치 못한 사실 결과. 사소한 가정은 비교가 문자열의 길이를 기반으로 한다는 것일 수 있지만 이는 사실이 아닙니다. 대신 JavaScript 문자열은 사전식으로 비교됩니다.
사전식 비교는 문자열의 문자를 나타내는 유니코드 코드 포인트 시퀀스를 비교하여 작동합니다. 각 문자열의 첫 번째 문자를 비교하는 것으로 시작됩니다. 이러한 문자가 동일하면 두 번째 문자를 비교하는 식으로 진행됩니다. 코드 포인트가 다른 문자가 발견되거나 문자열 중 하나에 문자가 부족하면 비교가 중단됩니다.
"11"과 "3"의 경우 첫 번째 문자는 '1'과 '3입니다. '. '1'은 '3'보다 낮은 유니코드 코드 포인트를 가지므로 사전식 비교에 따르면 "11"은 "3"보다 작습니다. 이는 놀라운 결과를 설명합니다. 긴 문자열은 더 낮은 코드 포인트의 문자를 포함하기 때문에 더 짧은 문자열보다 작은 것으로 간주됩니다.
예:
'11' < '3' // true '31' < '3' // false '31' < '32' // true '31' < '30' // false 'abc' < 'aaa' // false 'abc' < 'abd' // true
문자열을 명시적으로 다음 문자열로 변환하려면 숫자인 경우 단항 더하기( ) 연산자를 사용하세요.
+'11' < '3' // false
위 내용은 사전 편찬 비교에서 JavaScript 문자열 \"11\" 및 \"3\"이 True로 비교되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!