У чым розніца паміж аператарамі "==" і "===" у Javascript?


адказ 1:

==

дапушчальнае значэнне роўнасці

===

меншае дапушчальнае значэнне equit

Прыклады

  • Просты прыклад:
1 == '1' // вяртае ісціну 1 === '1' // вяртанне ілжывае
  • Больш складана:
false == undefined // false false == null // false

Транзітыўнасць

null == undefined // Праўда

==

JavaScript: Кніга добрых дэталяў

Крыніца:

  • Ці важна, які аператар (== vs ===) выкарыстоўваю для параўнання JavaScript? JavaScript: Добрае дачыненне

адказ 2:

Ды класічная блытаніна ў JavaScript! : D

Гэта на самай справе не непрыемнасць, гэта асаблівасць!

Па змаўчанні JavaScript спрабуе няяўна змяніць тып дадзеных зменных для параўнання. Гэта значыць, робіцца спроба не кідаць памылкі, калі яна сустракаецца з пераменнымі розных тыпаў дадзеных, якія параўноўваюцца. Замест гэтага тып дадзеных аўтаматычна мяняецца і параўноўваецца.

Такім чынам, калі вы толькі параўнайце "==", рухавік JavaScript няяўна спрабуе пераўтварыць адну з пераменных у той жа тып, што і іншую, і правярае падабенства. (Звычайна гэта прыводзіць да вялікай блытаніны і зусім не рэкамендуецца!)

Аднак, калі вы выкарыстоўваеце строгае параўнанне "===", рухавік JavaScript больш не мяняе любы тып дадзеных, але параўноўвае фактычныя значэнні з такімі, якія яны ёсць! Гэта дае дакладныя вынікі, як можна было чакаць! Гэта заўсёды павінна выкарыстоўвацца замест "==".

Вось прыклад кода:

няхай a = 10 // Тып дадзеных колькасці! хай b = '10' // радок тыпу дадзеных! if (a == b) {// Правядзіце свабодны тэст! console.log ("правяраецца няяўна і ПРАЎДА!: O"); } if (a === b) {// правядзіце строгую праверку! console.log ('недаступны код!'); } else {console.log ('строга правярайце, а значыць і ЛЕГКА!: D'); } ПЫТАННЕ: // Праверана неяўна і ПРАЎДА! : Ö // Правярайце строга і ЛЕГКА! : D

Спадзяюся, што гэта ачысціць вашу блытаніну!

Удачы на ​​вашым шляху!


адказ 3:

'===' Правярае строгую роўнасць, правярае значэнні і тыпы, абодва значэння павінны быць аднолькавымі, і толькі '===' вяртае ісціну.

'==' параўноўвае толькі значэнні і вяртае ісціннае альбо ілжывае, калі таксама выконваецца TYPE COERCION.

Напр

0 == false // Праўда

0 === false // false, таму што яны рознага тыпу

1 == "1" // праўда, аўтаматычнае пераўтварэнне тыпу

1 === "1" // false, таму што яны рознага тыпу


адказ 4:

Аператар "==" ажыццяўляе пераўтварэнні неабходных тыпаў да параўнання роўнасці.

Аднак аператар '===' правярае строгае роўнасць, каб пераўтварэнне тыпу не ажыццяўлялася. Калі два значэння не супадаюць у параўнанні, вяртаецца false.

Напрыклад:

У тры разы адно і тое ж

5 === 5

// Праўда

5 === '5'

// няправільны

Двойчы аднолькавыя

5 == 5

// Праўда

5 == "5"

// Праўда


адказ 5:

Аператар "==" ажыццяўляе пераўтварэнні неабходных тыпаў да параўнання роўнасці.

Аднак аператар '===' правярае строгае роўнасць, каб пераўтварэнне тыпу не ажыццяўлялася. Калі два значэння не супадаюць у параўнанні, вяртаецца false.

Напрыклад:

У тры разы адно і тое ж

5 === 5

// Праўда

5 === '5'

// няправільны

Двойчы аднолькавыя

5 == 5

// Праўда

5 == "5"

// Праўда


адказ 6:

Аператар "==" ажыццяўляе пераўтварэнні неабходных тыпаў да параўнання роўнасці.

Аднак аператар '===' правярае строгае роўнасць, каб пераўтварэнне тыпу не ажыццяўлялася. Калі два значэння не супадаюць у параўнанні, вяртаецца false.

Напрыклад:

У тры разы адно і тое ж

5 === 5

// Праўда

5 === '5'

// няправільны

Двойчы аднолькавыя

5 == 5

// Праўда

5 == "5"

// Праўда


адказ 7:

Аператар "==" ажыццяўляе пераўтварэнні неабходных тыпаў да параўнання роўнасці.

Аднак аператар '===' правярае строгае роўнасць, каб пераўтварэнне тыпу не ажыццяўлялася. Калі два значэння не супадаюць у параўнанні, вяртаецца false.

Напрыклад:

У тры разы адно і тое ж

5 === 5

// Праўда

5 === '5'

// няправільны

Двойчы аднолькавыя

5 == 5

// Праўда

5 == "5"

// Праўда


адказ 8:

Аператар "==" ажыццяўляе пераўтварэнні неабходных тыпаў да параўнання роўнасці.

Аднак аператар '===' правярае строгае роўнасць, каб пераўтварэнне тыпу не ажыццяўлялася. Калі два значэння не супадаюць у параўнанні, вяртаецца false.

Напрыклад:

У тры разы адно і тое ж

5 === 5

// Праўда

5 === '5'

// няправільны

Двойчы аднолькавыя

5 == 5

// Праўда

5 == "5"

// Праўда


адказ 9:

Аператар "==" ажыццяўляе пераўтварэнні неабходных тыпаў да параўнання роўнасці.

Аднак аператар '===' правярае строгае роўнасць, каб пераўтварэнне тыпу не ажыццяўлялася. Калі два значэння не супадаюць у параўнанні, вяртаецца false.

Напрыклад:

У тры разы адно і тое ж

5 === 5

// Праўда

5 === '5'

// няправільны

Двойчы аднолькавыя

5 == 5

// Праўда

5 == "5"

// Праўда


адказ 10:

Аператар "==" ажыццяўляе пераўтварэнні неабходных тыпаў да параўнання роўнасці.

Аднак аператар '===' правярае строгае роўнасць, каб пераўтварэнне тыпу не ажыццяўлялася. Калі два значэння не супадаюць у параўнанні, вяртаецца false.

Напрыклад:

У тры разы адно і тое ж

5 === 5

// Праўда

5 === '5'

// няправільны

Двойчы аднолькавыя

5 == 5

// Праўда

5 == "5"

// Праўда


адказ 11:

Аператар "==" ажыццяўляе пераўтварэнні неабходных тыпаў да параўнання роўнасці.

Аднак аператар '===' правярае строгае роўнасць, каб пераўтварэнне тыпу не ажыццяўлялася. Калі два значэння не супадаюць у параўнанні, вяртаецца false.

Напрыклад:

У тры разы адно і тое ж

5 === 5

// Праўда

5 === '5'

// няправільны

Двойчы аднолькавыя

5 == 5

// Праўда

5 == "5"

// Праўда


адказ 12:

Аператар "==" ажыццяўляе пераўтварэнні неабходных тыпаў да параўнання роўнасці.

Аднак аператар '===' правярае строгае роўнасць, каб пераўтварэнне тыпу не ажыццяўлялася. Калі два значэння не супадаюць у параўнанні, вяртаецца false.

Напрыклад:

У тры разы адно і тое ж

5 === 5

// Праўда

5 === '5'

// няправільны

Двойчы аднолькавыя

5 == 5

// Праўда

5 == "5"

// Праўда