ES5 JavaScript không có cách tích hợp để xử lý các tham số mặc định, tham số cần được xử lý như bất kỳ biến cũ nào
Chức năng kiểm tra câm của chúng tôi
const colorizer = function [element, color] {
document.getElementBtId[element].style.color = color
}
Sẽ cung cấp cho một phần tử một màu.
const colorizer = function [element, color] {
if [!color] {
console.log['The color arg is missing']
return false
}
document.getElementBtId[element].style.color = color
}
1Nhiệm vụ của Out là cung cấp cho tham số
const colorizer = function [element, color] {
if [!color] {
console.log['The color arg is missing']
return false
}
document.getElementBtId[element].style.color = color
}
2 một giá trị mặc địnhYêu cầu nó, lịch sự
Không có gì xảy ra và người dùng được thông báo về nó
const colorizer = function [element, color] {
if [!color] {
console.log['The color arg is missing']
return false
}
document.getElementBtId[element].style.color = color
}
Ví dụ sau đây, có lẽ thân thiện hơn, cung cấp cho nó giá trị mặc định là
const colorizer = function [element, color] {
if [!color] {
console.log['The color arg is missing']
return false
}
document.getElementBtId[element].style.color = color
}
3const colorizer = function [element, color] {
const elementColor = color || 'Pink'
document.getElementBtId[element].style.color = elementColor
}
Tất cả những điều này sẽ thất bại nếu tham số cần thiết là
const colorizer = function [element, color] {
if [!color] {
console.log['The color arg is missing']
return false
}
document.getElementBtId[element].style.color = color
}
4, const colorizer = function [element, color] {
if [!color] {
console.log['The color arg is missing']
return false
}
document.getElementBtId[element].style.color = color
}
5 hoặc bất kỳ giá trị giả nàoThực hiện kiểm tra loại rõ ràng
Nếu tham số cũng có thể là một giá trị giả, trước tiên hãy kiểm tra loại bằng
const colorizer = function [element, color] {
if [!color] {
console.log['The color arg is missing']
return false
}
document.getElementBtId[element].style.color = color
}
0Giá trị tham số mặc định của ES6
ECMAScript 6 [đặc tả ngôn ngữ JavaScript] hỗ trợ các giá trị mặc định ngay lập tức
const colorizer = function [element, color = '#BADA55'] {
document.getElementBtId[element].style.color = color
}
Gotchas với thông số mặc định ES6
Nếu
const colorizer = function [element, color] {
if [!color] {
console.log['The color arg is missing']
return false
}
document.getElementBtId[element].style.color = color
}
2 của chúng tôi trùng với const colorizer = function [element, color] {
if [!color] {
console.log['The color arg is missing']
return false
}
document.getElementBtId[element].style.color = color
}
2, thì giá trị dự phòng sẽ không được áp dụngBởi vì
const colorizer = function [element, color] {
if [!color] {
console.log['The color arg is missing']
return false
}
document.getElementBtId[element].style.color = color
}
2 không thực sự là một giá trị dưới cùng. const colorizer = function [element, color] {
if [!color] {
console.log['The color arg is missing']
return false
}
document.getElementBtId[element].style.color = color
}
4 là đối tượngBạn phải đảm bảo các giá trị màu của mình không bao giờ rỗng hoặc sử dụng toán tử or
const colorizer = function [element, color] {
if [!color] {
console.log['The color arg is missing']
return false
}
document.getElementBtId[element].style.color = color
}
5const colorizer = function [element, color] {
color = color || '#BADA55'
document.getElementBtId[element].style.color = color
}
Tóm lược. trong hướng dẫn này, bạn sẽ học cách sử dụng các tham số tùy chọn TypeScript cho các hàm
Trong JavaScript, bạn có thể gọi một hàm mà không cần truyền bất kỳ đối số nào mặc dù hàm chỉ định tham số. Do đó, JavaScript hỗ trợ các tham số tùy chọn theo mặc định
Trong TypeScript, trình biên dịch kiểm tra mọi lời gọi hàm và đưa ra lỗi trong các trường hợp sau
- Số lượng đối số khác với số lượng tham số được chỉ định trong hàm
- Hoặc các loại đối số không tương thích với các loại tham số của hàm
Vì trình biên dịch kiểm tra kỹ lưỡng các đối số truyền vào nên bạn cần chú thích các tham số tùy chọn để hướng dẫn trình biên dịch không báo lỗi khi bạn bỏ qua các đối số
Để tạo một tham số chức năng tùy chọn, bạn sử dụng ____17 sau tên tham số. Ví dụ
const colorizer = function [element, color] {
if [!color] {
console.log['The color arg is missing']
return false
}
document.getElementBtId[element].style.color = color
}
0Làm thế nào nó hoạt động
- Đầu tiên, sử dụng
7 sau tham sốconst colorizer = function [element, color] { if [!color] { console.log['The color arg is missing'] return false } document.getElementBtId[element].style.color = color }
9const colorizer = function [element, color] { if [!color] { console.log['The color arg is missing'] return false } document.getElementBtId[element].style.color = color }
- Thứ hai, kiểm tra xem đối số có được truyền cho hàm hay không bằng cách sử dụng biểu thức
0const colorizer = function [element, color] { const elementColor = color || 'Pink' document.getElementBtId[element].style.color = elementColor }
Lưu ý rằng nếu bạn sử dụng biểu thức
const colorizer = function [element, color] {
const elementColor = color || 'Pink'
document.getElementBtId[element].style.color = elementColor
}
1 để kiểm tra xem một đối số có được khởi tạo hay không, bạn sẽ thấy rằng chuỗi rỗng hoặc số 0 sẽ được coi là const colorizer = function [element, color] {
const elementColor = color || 'Pink'
document.getElementBtId[element].style.color = elementColor
}
2Các tham số tùy chọn phải xuất hiện sau các tham số bắt buộc trong danh sách tham số
Ví dụ: nếu bạn đặt tham số
const colorizer = function [element, color] {
const elementColor = color || 'Pink'
document.getElementBtId[element].style.color = elementColor
}
3 là tùy chọn và tham số const colorizer = function [element, color] {
if [!color] {
console.log['The color arg is missing']
return false
}
document.getElementBtId[element].style.color = color
}
9 là bắt buộc thì trình biên dịch TypeScript sẽ báo lỗi