let {week} = data[k] || {}
//data[k] 是个对象,{week:null},并不是一个值
//week 也是个对象,{week:week}
默认值生效的条件是,对象的属性值严格等于undefined
。所以,取不到默认值只有一个情况,那就是后面已经有值了,null 不严格等于 undefined ,所以,如果后面的值是null的话,它就会取null
看一下es6入门官方文档https://es6.ruanyifeng.com/#docs/destructuring