Types & Operators
Types (loại biến trong JS) là “dynamic”, nghĩa là một biến đang lưu giá trị loại gì thì còn tùy code ở chỗ đó.
Primitive Types: data of a single value, NOT OBJECT
Operators
Operator Precedence & Associativity
This embedded link can't be shown.
Coercion: chuyển đổi 1 biến từ loại này sang loại khác
var a = 1 + '2'; // 12
var a = 3 < 2 < 1; // false < 1, 0 < 1, true
// cẩn thận khi dùng equality
false == 0; // true
'3' == 3; // true
null == 0; // false
null < 1; // true, null = 0
'' == false; // true
// nên dùng strict equality, đừng so sánh
// so sánh các giá trị cùng loại
'3' === 3; // false
false === 0; // false
Operator Comparison Table
Existence and boolean
|| OR ít nhất một giá trị TRUE
&& AND tất cả đều phải TRUE
Convert một giá trị về 1 loại
Number()
Boolean()
Default Values
// nếu 1 biến không tồn tại, sử dụng giá trị mặc định
// nếu 1 biến có tồn tại, sử dụng giá trị hiện có
var name = name || ‘Your Name’;
// thay thế được IF statement
// OR có thứ tự precedence cao hơn EQUAL
