Javascript 如果Lodash的条件为真,则返回相同值的三元运算符速记?
有没有关于Lodash的简写?(或者可能是Vanilla JS/TypeScript)Javascript 如果Lodash的条件为真,则返回相同值的三元运算符速记?,javascript,typescript,lodash,Javascript,Typescript,Lodash,有没有关于Lodash的简写?(或者可能是Vanilla JS/TypeScript) var val=obj.value!==未定义:对象值:“” 请记住,var val=obj.value | |“”无效,因为0 | false为有效值,但为假值 谢谢。如果支持ES6,您可以使用JS引擎抽象的解构和默认参数 function validate( { value = '' } = {}) { // The default parameters are part of the fun
var val=obj.value!==未定义:对象值:“”代码>
请记住,var val=obj.value | |“”代码>无效,因为0 | false
为有效值,但为假值
谢谢。如果支持ES6
,您可以使用JS引擎抽象的解构和默认参数
function validate( {
value = ''
} = {}) {
// The default parameters are part of the function
// signature, which helps in keeping the function body
// clean without any boilerplate code for default values
console.log('value: ' + value );
}
validate({ value: 100 }); // value: 100
validate({ value: 0 }); // value: 0
validate(); // value:
这里使用了两种模式
{
value = ''
} = {}
等号后面的是默认值,这是对象和花括号内嵌套的默认值,即分解模式。分解允许您设置默认值(ES6功能)。例如:
const {val = ''} = obj
你可以用lodash。方法3可选参数是默认值,如果属性未定义
,将返回该参数:
var obj={anotherValue:'notdefault'};
var val=u2;.get(obj,'value','default');
var anotherVal=uz.get(obj,'anotherValue','default');
log('value:',val);
log('anotherVal:',anotherVal)代码>
ES6解构(val=''
仅当值未定义时):
返回相同的值,undefined
,true
,或者什么?不应该是:obj.value!==未定义?对象值:''代码>是的,但我想避免将obj.value放入twicDestruction需要使用与对象中相同的名称。const{val}=obj将导致val=未定义。如果value是对象中属性的名称,则可以在销毁过程中使用冒号重命名它。所以,例如,如果您想将值重命名为val,并给它一个默认值“”,请执行以下操作:const{value:val=''}=obj
var {value: val=''} = obj;