Javascript 如果Lodash的条件为真,则返回相同值的三元运算符速记?

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

有没有关于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 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;