Junior
JavaScript-ში == და === შორის რა განსხვავებაა?
sobes.tech AI
პასუხი AI-სგან
ოპერატორი == (სუბიექტური თანხვედრა) ახორციელებს ოპერანდების ტიპების გარდაქმნას შედარების წინ.
ოპერატორი === (კატეგორიული თანხვედრა) არ ახორციელებს ტიპების გარდაქმნას. ის შედარებს და მნიშვნელობებს და ოპერანდების ტიპებს.
// მაგალითები ==
console.log(5 == '5'); // ჭეშმარიტი ('5' სტრიქონი გარდაიქმნება რიცხვად 5)
console.log(true == 1); // ჭეშმარიტი (რიცხვი 1 გარდაიქმნება true-ად)
console.log(null == undefined); // ჭეშმარიტი (სპეციალური წესი)
// მაგალითები ===
console.log(5 === '5'); // მცდარი (number ტიპი არ ემთხვევა string ტიპს)
console.log(true === 1); // მცდარი (boolean ტიპი არ ემთხვევა number ტიპს)
console.log(null === undefined); // მცდარი (null ტიპი არ ემთხვევა undefined ტიპს)
=== გამოყენება უმეტეს შემთხვევაში სასურველია, რადგან ის უფრო წინასწარმეტყველია და ავიცილებთ გაურკვეველ ქცევას, რომელიც დაკავშირებულია ტიპების გარდაქმნასთან.