ความแตกต่างระหว่าง =, == และ === นิ้ว Javaสคริปต์ [ตัวอย่าง]

= ในคืออะไร Javaสคริปต์?

เท่ากับ (=) คือตัวดำเนินการกำหนดค่า ซึ่งกำหนดค่าตัวแปรทางด้านซ้ายของ = ให้เป็นค่าของนิพจน์ที่อยู่ทางด้านขวา ตัวดำเนินการนี้จะกำหนดค่า lvalue ให้กับ rvalue

เช่น เขียน a=10 ก็ใช้ได้ หากเราเขียน 10=10, 'a' = 10 หรือ 'a' = 'a' จะส่งผลให้เกิดข้อผิดพลาดในการอ้างอิง

== ในคืออะไร Javaสคริปต์?

Double equals (==) คือตัวดำเนินการเปรียบเทียบ ซึ่งจะแปลงตัวดำเนินการที่มีประเภทเดียวกันก่อนการเปรียบเทียบ

ดังนั้น เมื่อคุณเปรียบเทียบสตริงกับตัวเลข Javaสคริปต์จะแปลงสตริงใดๆ ให้เป็นตัวเลข สตริงว่างจะถูกแปลงเป็นศูนย์เสมอ สตริงที่ไม่มีค่าตัวเลขจะถูกแปลงเป็น NaN (ไม่ใช่ตัวเลข) ซึ่งส่งคืนค่าเท็จ

=== คืออะไร Javaสคริปต์?

=== (Triple equals) คือตัวดำเนินการเปรียบเทียบความเท่าเทียมอย่างเคร่งครัดใน Javaสคริปต์ที่คืนค่า false สำหรับค่าที่ไม่ใช่ประเภทเดียวกัน ตัวดำเนินการนี้จะทำการแปลงประเภทเพื่อความเท่าเทียมกัน หากเราเปรียบเทียบ 2 กับ "2" โดยใช้ === ก็จะคืนค่า false

ทำไมต้องใช้ = ใน Javaสคริปต์?

การใช้ = in ที่สำคัญมีดังนี้ Javaต้นฉบับ:


= Javaตัวดำเนินการสคริปต์กำหนดค่าให้กับตัวดำเนินการด้านซ้าย โดยขึ้นอยู่กับค่าของตัวดำเนินการที่มีอยู่ทางด้านขวา ตัวดำเนินการตัวแรกควรเป็นตัวแปร

ตัวดำเนินการกำหนดค่าพื้นฐานคือ = ซึ่งกำหนดค่าของตัวดำเนินการหนึ่งให้กับอีกตัวดำเนินการหนึ่ง กล่าวคือ a = b กำหนดค่าของ b ให้กับ a

ทำไมต้องใช้ == ใน Javaสคริปต์?

ต่อไปนี้เป็นการใช้งานที่สำคัญของ == in Javaสคริปต์:

ตัวดำเนินการ == เป็นตัวดำเนินการความเท่าเทียม โดยจะตรวจสอบว่าตัวดำเนินการทั้งสองตัวเหมือนกันหรือไม่ โดยเปลี่ยนนิพจน์จากประเภทข้อมูลหนึ่งไปเป็นอีกประเภทหนึ่ง คุณสามารถใช้ตัวดำเนินการ == เพื่อเปรียบเทียบเอกลักษณ์ของตัวดำเนินการสองตัว แม้ว่าจะไม่ใช่ประเภทเดียวกันก็ตาม

=== ทำงานอย่างไรกันแน่?

  • ความเท่าเทียมกันที่เข้มงวด === ตรวจสอบว่าค่าสองค่าเหมือนกันหรือไม่
  • ค่าจะไม่ถูกแปลงเป็นค่าอื่นโดยปริยายก่อนการเปรียบเทียบ
  • หากค่าตัวแปรมีประเภทต่างกัน จะถือว่าค่าไม่เท่ากัน
  • หากตัวแปรเป็นประเภทเดียวกัน ไม่ใช่ตัวเลข และมีค่าเท่ากัน จะถือว่าตัวแปรมีค่าเท่ากัน
  • สุดท้าย หากค่าตัวแปรทั้งสองเป็นตัวเลข ค่าทั้งสองจะถือว่าเท่ากัน ถ้าทั้งสองไม่ใช่ NaN (ไม่ใช่ตัวเลข) และมีค่าเท่ากัน

ตัวอย่างของ =

ในโปรแกรมด้านล่าง มีตัวแปรสองตัวคือ “a” และ “b” เรากำลังเพิ่มและพิมพ์ค่าโดยใช้ตัวแปรตัวที่สาม “c” ผลรวมของค่าของตัวแปร “a” และ “b” คือ 7 ดังนั้น ผลลัพธ์ที่ได้คือ 7

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Operators</h2>

 <p>a = 2, b = 5, calculate c = a + b, and display c:</p> 

<p id="demonstration"></p>

<script>
var a = 2;
var b = 5;
var c= a + b;
document.getElementById("demonstration").innerHTML = c;
</script>

</body>
</html>


Output:

a = 2, b = 5, คำนวณ c = a + b และแสดง c:

7

ตัวอย่างของ ==

ในโปรแกรมด้านล่างนี้ เราได้ประกาศตัวแปรหนึ่งตัว “a” ซึ่งมีค่าเป็น 10 สุดท้ายนี้ คำสั่ง a == 20 จะคืนค่าเท็จ เนื่องจากค่าของ a คือ 10

<!DOCTYPE html>
<html>
<body>

<p id="demonstration"></p>

<script>
  var a = 10;
  document.getElementById("demonstration").innerHTML = (a == 20);
</script>

</body>
</html>

Output:

เท็จ

ตัวอย่าง ===

ในโปรแกรมด้านล่าง ค่าของตัวแปร x คือ 10 จะถูกเปรียบเทียบกับ 10 ที่เขียนในเครื่องหมายคำพูดคู่ ซึ่งถือว่าเป็น เชือกดังนั้นค่าจึงไม่เหมือนกันอย่างเคร่งครัด ผลลัพธ์ของโปรแกรมเป็นเท็จ

<!DOCTYPE html>
<html>
<body>

<p id="demo"></p>

<script>

  var x = 10;
  document.getElementById("demo").innerHTML = (x === "10");

</script>

</body>
</html>

Output:

เท็จ

= กับ == VS === เข้า Javaต้นฉบับ

ต่อไปนี้เป็นข้อแตกต่างที่สำคัญระหว่าง =, == และ ===

= == ===
= เข้า Javaสคริปต์ใช้สำหรับกำหนดค่าให้กับตัวแปร == เข้า Javaสคริปต์นี้ใช้สำหรับเปรียบเทียบตัวแปรสองตัว แต่จะไม่สนใจชนิดข้อมูลของตัวแปร === ใช้สำหรับเปรียบเทียบตัวแปรสองตัว แต่ตัวดำเนินการนี้จะตรวจสอบชนิดข้อมูลและเปรียบเทียบค่าสองค่าด้วย
เรียกว่าเป็นตัวดำเนินการกำหนดค่า เรียกว่าตัวดำเนินการเปรียบเทียบ เรียกอีกอย่างหนึ่งว่าตัวดำเนินการเปรียบเทียบ
ผู้ดำเนินการกำหนดสามารถประเมินค่าตามที่กำหนดได้ ตรวจสอบความเท่าเทียมกันของตัวดำเนินการสองตัวโดยไม่พิจารณาประเภทของตัวดำเนินการ เปรียบเทียบความเท่าเทียมกันของตัวดำเนินการสองตัวกับประเภทของตัวดำเนินการเหล่านั้น
มันไม่คืนค่าจริงหรือเท็จ คืนค่า true หากตัวดำเนินการทั้งสองเท่ากัน คืนค่า false หากตัวดำเนินการทั้งสองไม่เท่ากัน มันจะคืนค่าจริงก็ต่อเมื่อทั้งค่าและประเภทข้อมูลเหมือนกันสำหรับตัวแปรทั้งสอง
= เพียงกำหนดค่าตัวแปรหนึ่งให้กับอีกค่าหนึ่ง == ทำการแก้ไขประเภทตามค่าของ ตัวแปร. === นำประเภทของตัวแปรมาพิจารณา
= จะไม่เปรียบเทียบค่าของตัวแปรใดๆทั้งสิ้น == ตรวจสอบความเท่าเทียมกันหลังจากทำการสนทนาที่จำเป็นเท่านั้น หากค่าตัวแปรสองค่าไม่เหมือนกัน === จะไม่ทำการแปลงใดๆ

ความแตกต่างที่สำคัญ

  • = ใช้สำหรับกำหนดค่าให้กับตัวแปร == ใช้สำหรับเปรียบเทียบตัวแปรสองตัว แต่จะไม่สนใจชนิดข้อมูลของตัวแปร ในขณะที่ === ใช้สำหรับเปรียบเทียบตัวแปรสองตัว แต่ตัวดำเนินการนี้จะตรวจสอบชนิดข้อมูลและเปรียบเทียบค่าสองค่าด้วย
  • = เรียกว่าเป็นตัวดำเนินการกำหนดค่า ส่วน == เรียกว่าเป็นตัวดำเนินการเปรียบเทียบ ในขณะที่เรียกอีกอย่างว่าตัวดำเนินการเปรียบเทียบ
  • = ไม่ส่งคืนค่า true หรือ false, == ส่งคืนค่า true เฉพาะเมื่อตัวดำเนินการทั้งสองเท่ากัน ในขณะที่ === ส่งคืนค่า true เฉพาะเมื่อค่าและชนิดข้อมูลทั้งสองเหมือนกันสำหรับตัวแปรทั้งสอง