+3

[Javascript căn bản]Type Coercion và toán tử trong Javascript

Bài viết note kiến thức lập trình Javascript căn bản

1. Type Coercion

Type Coercion là chuyển đổi kiểu dữ liệu từ kiểu này sang kiểu khác.

Ví dụ: đổi kiểu số sang kiểu chuỗi, kiểu chuỗi sang kiểu boolean...

  • Toán tử +
console.log(1 + 2);
console.log(3+4);
console.log(10 + "10"); //1010
console.log("10" + 10); /1010

Giải thích: Javascript sẽ chuyển số 10 thành chuỗi "10" với toán tử + console.log(String(10) + "10");

console.log(null + ""); // "null"
console.log(null + undefined); //NaN - không phải số
console.log(null + 10); //10
  • Toán tử khác + (-, *, /, %)
console.log("10" - 10); // 0 Number("10") - 10
console.log("" - 1); // Number("") -> 0 -> 0 - 1 = -1
console.log(false - true); //Number(false) = 0 - Number(true) = 1 -> 0 -1 = -1

2. Toán tử so sánh

  • Các toán tử: > < >= <=
console.log(5 > 7); //false
console.log(10 > 7); //true
console.log(6 >= 6); //true
console.log(7 >= 8); //false
console.log(6 <= 6); //true

3. Toán tử logic

  • Toán tử logic cơ bản: && || !
console.log(5 > 7 && 8 > 3); //false && true -> false
console.log(5 > 7 || 8 > 3); //false || true -> true
const isChecked = true;
console.log(!isChecked); //false
  • Boolean &
//false && true -> false
//true && fasle -> fasle
//false && false -> false
//true && true -> true
  • Boolean ||
// false || true -> true
// true || fasle -> true
// true || true -> true
// false || false -> false

4. So sánh == vs ===

== loose equality vs === strict equality

  • == so sánh theo giá trị
console.log(10 == 10); //true
console.log(10 == '10'); //true "10" == "10"
console.log(true == 1); //Number(true) = 1 -> 1 == 1 -> true
console.log(1 == "01"); //Number("01") = 1 == 1 -> true
console.log(null == ""); // "null"!= " -> false
console.log(typeof 10); //number
console.log(typeof "10"); //string
  • === so sánh theo giá trị và kiểu dữ liệu
console.log(10 === '10'); //false
console.log(10 !== '10') ; //true

=> Khuyến khích sử dụng so sánh === strict equality

Nguồn:


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí