Я взял курс JS на веб-сайте, а также в одном из уроков там был кусок кода, который не имеет смысла для меня:Java сравнения строк сценария
код в picture, почему str1 меньше str2?
Я взял курс JS на веб-сайте, а также в одном из уроков там был кусок кода, который не имеет смысла для меня:Java сравнения строк сценария
код в picture, почему str1 меньше str2?
Это сравнивает каждый символ из 0-индекса, например "a"<"b"
thi is true
. Если равны, то он сравнивает следующий индекс, а затем, ... "aad">"aac"
, потому что, в два раза, а затем "a"="a"
"d">"c"
Строки сравниваются на основе стандартного лексикографического упорядочения, используя Unicode значения. Это означает, что «а» < «б» и «в»> «B»
Две строки строго равны, если они имеют ту же последовательность символов , одинаковую длину и одинаковые символы в соответствующих позиции. source
var str1 = "aardvark";
var str2="beluga";
console.log(str1 < str2);//true
console.log(str1.length < str2.length);//false
JavaScript в этом случае будет сравнивать строки lexographically посимвольно, где буква «а» ниже, чем буква «б» и так далее. Он также работает для чисел, а верхний регистр алфавита считается выше, чем нижний регистр.
Итак, в вашем примере 'a' < 'b'
, и поэтому утверждение верно.
Можете ли вы включить текст 'javascript' в вопрос? – guest271314
Потому что 'a' приходит до' b'. https://en.wikipedia.org/wiki/Alphabetical_order, https://en.wikipedia.org/wiki/Lexicographic_order –
строки сравниваются по символу по символьному режиму, и каждый символ имеет представление своего кода (Unicode). Наконец, это коды charatcters в обеих строках, которые сравниваются. – curveball