析构分配缺省值

本教程将介绍析构分配缺省值的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。

析构分配缺省值 教程 第1张

问题描述

我正在学习Java脚本,当我试图在解构时给变量一个缺省值时,我有点被ES6语法卡住了。
基本上,我尝试给一个变量赋值,该变量给一个对象的属性的值,如果该值为FALSE/NULL/UNDEFINED,我希望它是一个空对象。
例如,

let foo = { 
prop1: 'hello!',
prop2: null 
  }

const prop1 = foo.prop1 || {}
const prop2 = foo.prop2 || {}

console.log(prop1) //  hello!
console.log(prop2) //  {}

?这就是我想要的,而?是我认为等同于上面的ES6糖类语法(尽管它不起作用..)

let foo = { 
prop1: 'hello!',
prop2: null 
  }

const { prop1 = {} } = foo
const { prop2 = {} } = foo

console.log(prop1) // hello!
console.log(prop2) // null

但不知何故,有时它似乎在Reaction中起作用,但另一些时候却不起作用。是不是兼容性问题?太让人困惑了!

推荐答案

您可能被空和未定义的区别搞糊涂了,例如:

const { dogName = 'snickers' } = { dogName: undefined }
console.log(dogName) // what will it be? 'snickers'!

const { dogName = 'snickers' } = { dogName: null }
console.log(dogName) // what will it be? null!

const { dogName = 'snickers' } = { dogName: false }
console.log(dogName) // what will it be? false!

const { dogName = 'snickers' } = { dogName: 0 }
console.log(dogName) // what will it be? 0!

摘自:http://wesbos.com/destructuring-default-values/

好了关于析构分配缺省值的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。