Skip to content

Commit 89bc194

Browse files
authored
Update article.md
1 parent 6a69107 commit 89bc194

File tree

1 file changed

+15
-15
lines changed

1 file changed

+15
-15
lines changed

1-js/02-first-steps/09-comparison/article.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,10 @@ alert( 'Балдар' > 'Бал' ); // туура (true)
6565
2. `а` менен `а` барабар.
6666
3. `н` `л`ден чоңураак. Бул жерде салыштыруу бүтөт. Биринчи сап чоңураак.
6767

68-
```smart header="Чыныгы алиппе эмес, Unicode коддоосу колдонулат"
69-
Жогоруда келтирилген салыштыруу алгоритми болжол менен сөздүктөрдө же телефон китептеринде колдонулган алгоритмге барабар, бирок так окшош эмес.
68+
```smart header="Чыныгы алиппе эмес, бирок Unicode коддоосу колдонулат"
69+
Жогоруда келтирилген салыштыруу алгоритми болжол менен сөздүктөрдө же телефон китептеринде колдонулган алгоритмиге барабар, бирок так окшош эмес.
7070
71-
Мисалы, JavaScript'те белги регистри мааниге ээ. Баш `"A"` тамгасы кичине `"a"` тамгасына барабар эмес. Кайсынысы чоңураак? Бул кичине `"a"` тамгасы. Эмнеге? Анткени кичине тамгалар JavaScript (Unicode) колдонгон ички коддоо жадыбалында чоңураак кодго ээ. Бул коддоонун өзгөчөлүктөрүн жана натыйжаларын <info:string> бөлүмүндө карап чыгабыз.
71+
Мисалы, JavaScript'те белги регистри мааниге ээ. Баш `"A"` тамгасы кичине `"a"` тамгасына барабар эмес. Кайсынысы чоңураак? Кичине `"a"` тамгасы. Эмнеге? Анткени кичине тамгалар JavaScript (Unicode) колдонгон ички коддоо жадыбалында чоңураак кодго ээ. Бул коддоонун өзгөчөлүктөрүн жана натыйжаларын <info:string> бөлүмүндө карап чыгабыз.
7272
```
7373

7474
## Ар кандай түрлөрдү салыштыруу
@@ -82,7 +82,7 @@ alert( '2' > 1 ); // true, '2' сабы 2 санына айланат
8282
alert( '01' == 1 ); // true, '01' сабы 1 санына айланат
8383
```
8484

85-
Логикалык `true` мааниси `1` болуп калат жана `false` мааниси `0` болуп калат.
85+
Логикалык `true` мааниси `1`, жана `false` мааниси `0` болуп калат.
8686

8787
Мисалы:
8888

@@ -109,10 +109,10 @@ alert( Boolean(b) ); // true
109109
alert(a == b); // true!
110110
```
111111
112-
From JavaScript's standpoint, this result is quite normal. An equality check converts values using the numeric conversion (hence `"0"` becomes `0`), while the explicit `Boolean` conversion uses another set of rules.
112+
JavaScript'тин көз карашын боюнча бул кадимки натыйжа. Теңдикти текшерүү маанилерди сандык айландырууну колдонуу менен өзгөртөт (ошондуктан `"0"` - `0` болуп калат), ал эми айкын `Boolean` айландыруусу башка эрежелер топтомун колдонот.
113113
````
114114

115-
## Катуу салыштыруу
115+
## Так салыштыруу
116116

117117
Кадимки салыштыруу `==` операторунун көйгөйү бар. Ал `0` менен `false` маанилерин айырмалай албайт:
118118

@@ -126,27 +126,27 @@ alert( 0 == false ); // true
126126
alert( '' == false ); // true
127127
```
128128

129-
This happens because operands of different types are converted to numbers by the equality operator `==`. An empty string, just like `false`, becomes a zero.
129+
Бул натыйжа ар кандай түрдөгү операнддар `==` теңдик оператору менен салыштырылганда, алар сандарга айландырылгандыктан пайда болот. Бош сап да, `false` да нөлгө айланат.
130130

131-
What to do if we'd like to differentiate `0` from `false`?
131+
Биз `0` менен `false` ажыратууну кааласак, анда эмне кылыш керек?
132132

133-
**A strict equality operator `===` checks the equality without type conversion.**
133+
**Так теңдик оператору `===` маанилердин теңдигин түрдү айландыруусуз текшерет.**
134134

135-
In other words, if `a` and `b` are of different types, then `a === b` immediately returns `false` without an attempt to convert them.
135+
Башкача айтканда, эгерде `a` жана `b` түрлөрү ар кандай болсо, анда `a === b` аларды айландырууга аракет кылбастан дароо `false` кайтарат.
136136

137-
Let's try it:
137+
Сынап көрөлү:
138138

139139
```js run
140-
alert( 0 === false ); // false, because the types are different
140+
alert( 0 === false ); // false, анткени түрлөрү ар кандай
141141
```
142142

143-
There is also a "strict non-equality" operator `!==` analogous to `!=`.
143+
Ошондой эле `!=` операторуна окшош "так теңсиздик" `!==` оператору бар.
144144

145145
The strict equality operator is a bit longer to write, but makes it obvious what's going on and leaves less room for errors.
146146

147-
## Comparison with null and undefined
147+
## null жана undefined салыштыруу
148148

149-
There's a non-intuitive behavior when `null` or `undefined` are compared to other values.
149+
`null` же `undefined` башка маанилер менен салыштырылганда күтүлбөгөн кылык-жоруктары бар.
150150

151151
For a strict equality check `===`
152152
: These values are different, because each of them is a different type.

0 commit comments

Comments
 (0)