- vừa được xem lúc

Javascript nâng cao: 5 toán tử trong Javascript có thể bạn chưa biết

0 0 16

Người đăng: Harry

Theo Viblo Asia

Javascript là ngôn ngữ phổ biến hiện nay vì đây là 1 ngôn ngữ dễ học dễ triển khai ứng dụng nhất là đối với anh em lập trình Front End. Các bạn đã quá quen với các toán tử logic, hay toán tử toán học + - * /. Để nâng cao kỹ năng trong Javascript bạn nên biết các toán tử sau đây. Nó sẽ giúp bạn dễ dàng hơn trong việc lập trình với Javascript.

1. Toán tử tuỳ chọn (?.) (optional chaining operator)

  • Là 1 nhà phát triển ứng dụng với Javascipt, tôi nhận thấy rằng đối với việc kiểm tra các thành phần là null hay undefine như 1 key trong một object có tồn tại hay không trước khi chúng ta sử dụng chúng đôi khi không được chú ý. Sau đó lỗi sẽ được phát hiện trong quá trình chaỵ trương trình chứ không phải là quá trình lập trình.
    • Ví dụ bạn gọi 1 thuộc tính từ 1 undefine phần tử thí nó sẽ sinh ra lỗi ví dụ:
function printMagicIndex(arr) { console.log(arr?.[42]);
} printMagicIndex([0, 1, 2, 3, 4, 5]); // undefined
printMagicIndex(); // undefined; if not using ?., this would throw

Toán tử (?.) trong Javascript nâng cao sẽ giúp bạn làm điều đó:

const myObject = { nested: { property: 'value' }
};
const result = myObject?.nested?.property;
console.log(result); // Output: 'value' 

Toán tử này sẽ cho phép bạn truy cập an toàn vào các thuộc tính bên trong của Object hoặc phương thức của nó mà bạn không cần lo lắng đến thuộc tính hay phương thức này có là undefine hay null.

2 . Toán tử Nullish (??)(Nullish coalescing operator ) và || (OR)

const myValue = null;
const result = myValue ?? 'default value';
console.log(result); // Output: 'default value'
  • Toán tử này trong javascript nâng cao sẽ trả về giá trị ở phía bên phải nếu giá trị bên trái của bạn là null hoặc undefine. Như ví dụ trên bạn sẽ không cần bước kiểm tra để gán giá trị mặc định cho biến nữa. Thay vào đó biến sẽ được gán thành default value khi giá trị mà bạn kiểm tra là null hay undefine.
  • Nếu bạn muốn gán giá trị bên phải khi biến cần kiểm tra là Flasy không chỉ là null hoặc undefine bạn có thể dùng toán tử OR. Toán tử Falsy
const count = 0;
const text = ""; const qty = count || 42;
const message = text || "hi!";
console.log(qty); // 42 and not 0
console.log(message); // "hi!" and not ""

Lưu ý: Bạn không thể dùng toán tử || và && trực tiếp với toán tử ?? như thế này:


null || undefined ?? "foo"; // raises a SyntaxError
true && undefined ?? "foo"; // raises a SyntaxError //Thay vào đó bạn phải tách riêng chúng thành các Expression: (null || undefined) ?? "foo"; // returns "foo"

3. Toán tử điều kiện ?: (Conditional operator)

Là một toán tử 3 ngôi nó đảm nhiệm chức năng như if-else truyền thống mà bạn vẫn hay sử dụng nhưng nhìn gọn hơn rất nhiều:

const myValue = null;
const result = myValue ? 'not null' : 'null';
console.log(result); // Output: 'null'

Câu lệnh trên có thể diễn giải như sau: Nếu myValue là truthy thì giá trị sẽ được gán là not null, ,nếu không thì sẽ được gán là null.

Lưu ý: truthy chính là các giá trị ngoài Falsy bên trên.

Bạn sẽ thấy nó rất hữu dụng và ngắn gọn hơn rất nhiều so với if/else:

const myValue=null
if(myValue){
const result=’not null’
}
else{
const result=’null’
}

4. Toán tử ??== (Nullish assignment operator)

  • Toán tử này giúp bạn gán giá trị cho biến của bạn nếu như nó là null hay undefine.
let myVariable = null;
myVariable ??= 'default value';
console.log(myVariable); // Output: 'default value'

Ví dụ trên bạn sẽ thấy giá trị myVariable sẽ được gán thành default value khi nó là null.

5. Toán tử so sánh nghiêm ngặt (====) (The Strict EqualityComparison)

Toán tử này sẽ so sánh cả về kiểu của biến mà bạn muốn so sánh: image.png Bạn có thể thấy biến 1 kiển Number và biến ‘1’ kiểu String sẽ là flase đối với === nhưng nó sẽ là true với ==

6. Kết luận

Các toán tử này giúp bạn nâng cao kỹ năng JavaScript của bạn cách viết mã hiệu quả hơn và cập nhật tính năng mới nhất từ Javascript. Điều quan trọng hơn là chia sẻ kiến ​​thức này đối với team của bạn(nếu như thấy kiến thức này cần thiết). Giúp người khác phát triển các kỹ năng họ cũng chính là giúp bản thân mình hiểu rõ hơn về kiến thức đó. Share to be better

Bình luận

Bài viết tương tự

- vừa được xem lúc

[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.

0 0 13

- vừa được xem lúc

Blog#173: Introduction to Advanced JavaScript Concepts - Advanced JavaScript Part 1

Hi, I'm Tuan, a Full-stack Web Developer from Tokyo . JavaScript is an essential language for web development, and learning advanced concepts can significantly improve your programming skills.

0 0 22

- vừa được xem lúc

Blog#174: 🤔Understanding Asynchronous JavaScript: 🔄Callbacks, 🤞Promises, and 🤝Async/Await

Hi, I'm Tuan, a Full-stack Web Developer from Tokyo . 1. Introduction to Asynchronous JavaScript. What is Asynchronous JavaScript.

0 0 28

- vừa được xem lúc

Blog#175: 🧐Mastering JavaScript's Execution Context and Closures🚀

Hi, I'm Tuan, a Full-stack Web Developer from Tokyo . 1. Understanding Execution Context. A Quick Overview.

0 0 25

- vừa được xem lúc

Blog#177: 🤔MAYBE YOU DON'T KNOW - 👌Using Node-Postgres in Node.js Express✨

Hi, I'm Tuan, a Full-stack Web Developer from Tokyo . In this article, we'll walk you through a step-by-step guide on using node-postgres with Node.

0 0 30

- vừa được xem lúc

Blog#176: 💪The Power of JavaScript Functional Programming🚀

. The main goal of this article is to help you improve your English level. I will use Simple English to introduce to you the concepts related to software development.

0 0 23