Atbilde 1:

==

pieļaujamā vērtību vienlīdzība

===

mazāk pieļaujama vērtības vienādība

Piemēri

  • Pamata piemērs:
1 == '1' // atgriežas patiesi
1 === '1' // return false
  • Vienkāršāks viens:
nepatiess == nenoteikts // nepatiess
false == null // false

tranzītivitāte

null == nenoteikts // patiess

==

JavaScript: labo daļu grāmata

Avots:

  • Vai ir svarīgi, kurš ir vienāds ar operatoru (== vs ===), kuru es izmantoju JavaScript salīdzinājumos? JavaScript: The Good PartsTransitive

Atbilde 2:

Jā, klasiskais neskaidrības JavaScript valodā! : D

Tas faktiski nav traucēklis, bet gan iezīme!

JavaScript pēc noklusējuma mēģina netieši mainīt mainīgo datu tipu, kas tiek salīdzināti ar atbilstošo. Kas nozīmē, ka tas mēģina nemest kļūdas, sastopoties ar dažādu salīdzināmo datu tipu mainīgajiem, tā vietā tas automātiski maina datu tipu un pēc tam salīdzina.

Tātad, ja jūs vienkārši izmantojat “==” salīdzināšanu, JavaScript dzinējs netieši mēģina konvertēt vienu no mainīgajiem uz tāda paša veida kā otrs un pēc tam pārbauda līdzību. (tas parasti rada daudz neskaidrību un vispār nav ieteicams!)

Tomēr, ja jūs izmantojat stingru salīdzinājumu “===”, JavaScript dzinējs tagad nemainīs nevienu datu veidu, bet salīdzinās faktiskās vērtības tādas, kādas tās ir! Tas dod precīzus rezultātus, kā jūs gaidāt! Tas vienmēr ir jāizmanto “==” vietā.

Šeit ir koda piemērs:

let a = 10 // Skaitļa datu tips!
pieņemsim, ka b = '10' // virknes datu tips!

ja (a == b) {// veic brīvu pārbaudi!
 console.log ('netieši pārbaudīts un PATIESS !: O');
}

if (a === b) {// veicot stingru pārbaudi!
 console.log ('nepieejams kods!');
} cits {
 console.log ('stingri pārbaudot un tāpēc FALSE!: D');
}

REZULTĀTS:
// netieši pārbaudīts un PATIESS! : O
// stingri pārbaudot un FALSE! : D

Es ceru, ka tas novērsīs jūsu neskaidrības!

Veiksmi jūsu ceļā!


Atbilde 3:

'===' pārbauda stingru vienlīdzību, tas pārbaudīs gan vērtības, gan tipus, abām vērtībām jābūt vienādām, tad tikai '===' būs taisnība.

'==' tikai salīdzina vērtības un atgriezīs attiecīgi patiesu vai nepatiesu, un šajā gadījumā tiek veikta TIPA COERCION.

Piem.

0 == nepatiess // patiess

0 === nepatiess // nepatiess, jo tie ir cita veida

1 == "1" // patiesa, automātiskā veida coersion

1 === "1" // nepatiess, jo tie ir cita veida


Atbilde 4:

Operators '==' veic vajadzīgos konvertējumus pirms vienlīdzības salīdzināšanas.

Bet operators = === pārbauda stingru vienlīdzību, tāpēc tas nedarīs tipa konvertēšanu, tātad, ja abas vērtības nav viena veida, salīdzinot, tā atgriezīsies nepatiesa.

Piemērs:

Trīskāršs vienāds

5 === 5

// patiess

5 === '5'

// viltus

Divkāršs vienāds

5 == 5

// patiess

5 == '5'

// patiess


Atbilde 5:

Operators '==' veic vajadzīgos konvertējumus pirms vienlīdzības salīdzināšanas.

Bet operators = === pārbauda stingru vienlīdzību, tāpēc tas nedarīs tipa konvertēšanu, tātad, ja abas vērtības nav viena veida, salīdzinot, tā atgriezīsies nepatiesa.

Piemērs:

Trīskāršs vienāds

5 === 5

// patiess

5 === '5'

// viltus

Divkāršs vienāds

5 == 5

// patiess

5 == '5'

// patiess


Atbilde 6:

Operators '==' veic vajadzīgos konvertējumus pirms vienlīdzības salīdzināšanas.

Bet operators = === pārbauda stingru vienlīdzību, tāpēc tas nedarīs tipa konvertēšanu, tātad, ja abas vērtības nav viena veida, salīdzinot, tā atgriezīsies nepatiesa.

Piemērs:

Trīskāršs vienāds

5 === 5

// patiess

5 === '5'

// viltus

Divkāršs vienāds

5 == 5

// patiess

5 == '5'

// patiess


Atbilde 7:

Operators '==' veic vajadzīgos konvertējumus pirms vienlīdzības salīdzināšanas.

Bet operators = === pārbauda stingru vienlīdzību, tāpēc tas nedarīs tipa konvertēšanu, tātad, ja abas vērtības nav viena veida, salīdzinot, tā atgriezīsies nepatiesa.

Piemērs:

Trīskāršs vienāds

5 === 5

// patiess

5 === '5'

// viltus

Divkāršs vienāds

5 == 5

// patiess

5 == '5'

// patiess


Atbilde 8:

Operators '==' veic vajadzīgos konvertējumus pirms vienlīdzības salīdzināšanas.

Bet operators = === pārbauda stingru vienlīdzību, tāpēc tas nedarīs tipa konvertēšanu, tātad, ja abas vērtības nav viena veida, salīdzinot, tā atgriezīsies nepatiesa.

Piemērs:

Trīskāršs vienāds

5 === 5

// patiess

5 === '5'

// viltus

Divkāršs vienāds

5 == 5

// patiess

5 == '5'

// patiess


Atbilde 9:

Operators '==' veic vajadzīgos konvertējumus pirms vienlīdzības salīdzināšanas.

Bet operators = === pārbauda stingru vienlīdzību, tāpēc tas nedarīs tipa konvertēšanu, tātad, ja abas vērtības nav viena veida, salīdzinot, tā atgriezīsies nepatiesa.

Piemērs:

Trīskāršs vienāds

5 === 5

// patiess

5 === '5'

// viltus

Divkāršs vienāds

5 == 5

// patiess

5 == '5'

// patiess


Atbilde 10:

Operators '==' veic vajadzīgos konvertējumus pirms vienlīdzības salīdzināšanas.

Bet operators = === pārbauda stingru vienlīdzību, tāpēc tas nedarīs tipa konvertēšanu, tātad, ja abas vērtības nav viena veida, salīdzinot, tā atgriezīsies nepatiesa.

Piemērs:

Trīskāršs vienāds

5 === 5

// patiess

5 === '5'

// viltus

Divkāršs vienāds

5 == 5

// patiess

5 == '5'

// patiess


Atbilde 11:

Operators '==' veic vajadzīgos konvertējumus pirms vienlīdzības salīdzināšanas.

Bet operators = === pārbauda stingru vienlīdzību, tāpēc tas nedarīs tipa konvertēšanu, tātad, ja abas vērtības nav viena veida, salīdzinot, tā atgriezīsies nepatiesa.

Piemērs:

Trīskāršs vienāds

5 === 5

// patiess

5 === '5'

// viltus

Divkāršs vienāds

5 == 5

// patiess

5 == '5'

// patiess


Atbilde 12:

Operators '==' veic vajadzīgos konvertējumus pirms vienlīdzības salīdzināšanas.

Bet operators = === pārbauda stingru vienlīdzību, tāpēc tas nedarīs tipa konvertēšanu, tātad, ja abas vērtības nav viena veida, salīdzinot, tā atgriezīsies nepatiesa.

Piemērs:

Trīskāršs vienāds

5 === 5

// patiess

5 === '5'

// viltus

Divkāršs vienāds

5 == 5

// patiess

5 == '5'

// patiess