[英]Set the default value for the object in javascript
我有一個名為addAlert
的函數,該函數接受兩個參數。
此函數的第一個參數是字符串,而此函數的第二個參數是對象。 該對象具有status
, position
和align
這三個屬性。
當我未設置此參數的任何屬性時,我想設置一個默認值。
addAlert(stringValue,valueObject) {
//Set the default values for the valueObject
}
您可以使用默認屬性創建一個默認對象,並使用Object.assign()
這樣:
function addAlert(stringValue, valueObject) { const defaultObj = { status: "default status", position: "default position", align: "default align" }; valueObject = Object.assign({}, defaultObj, valueObject) console.log(valueObject) } addAlert('', { status: "status" }) addAlert('', { position: "position", align: "align" }) addAlert('') // valueObject will be undefined
.as-console-wrapper { max-height: 100% !important; top: 0; }
您可以如下設置參數默認值:
addAlert(stringValue = 'default string',valueObject = {}) {
//Set the default values for the valueObject
}
有關更多信息,請訪問Default_parameters
最好的方法就是給函數調用提供默認值:
addAlert(stringValue = 'default',valueObject = 'default') {
//Set the default values for the valueObject
}
現在,如果要為stringObject.status提供默認值,則有兩個選項:檢查它們是否未定義,然后設置為它們提供默認值:
addAlert(stringValue,valueObject) {
if (valueObject.status == undefined) {
valueObject.status = 'default';
}
}
否則,您將傳遞三個不同的字段,且它們全部都是單個的。
addAlert(stringValue,valueObject.status, etc..) {
//Set the default values for the valueObject
}
希望這可以幫助! :)
您可以通過以下方式自行在參數列表中分配默認值。
addAlert = (stringValue="defaultString",valueObject={status:"", position:"", align:""})=> {
console.log(stringValue, valueObject)
}
您可以使用Object.assign
創建具有默認值的對象:
const defaults = { a: 1, b: 2, c: 3 } const obj1 = { a: 11 } const obj2 = { a: 11, c: 33} const obj3 = { a: 11, b: 22, c: 33 } const newObj1 = Object.assign({}, defaults, obj1); const newObj2 = Object.assign({}, defaults, obj2); const newObj3 = Object.assign({}, defaults, obj3); console.log(newObj1); console.log(newObj2); console.log(newObj3);
另外,您可以使用傳播語法執行相同的操作:
const defaults = { a: 1, b: 2, c: 3 } const obj1 = { a: 11 } const obj2 = { a: 11, c: 33} const obj3 = { a: 11, b: 22, c: 33 } const newObj1 = { ...defaults, ...obj1}; const newObj2 = { ...defaults, ...obj2}; const newObj3 = { ...defaults, ...obj3}; console.log(newObj1); console.log(newObj2); console.log(newObj3);
您可以使用以下任一設置默認值:
addAlert(stringValue,valueObject) {
const defaults = { status: "INFO", position: "TOP": align: "LEFT" };
const settings = Object.assign({}, defaults, valueObj);
/* use settings in the code */
}
要么
addAlert(stringValue,valueObject) {
const defaults = { status: "INFO", position: "TOP": align: "LEFT" };
const settings = { ...defaults, ...valueObj };
/* use settings in the code */
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.