【发布时间】:2020-07-21 07:47:36
【问题描述】:
出于测试目的,我需要在我的 CRUD 函数中为 db 设置一个默认值,但遇到了一个奇怪的行为,我还不知道。考虑以下代码:
import { db } from './firebase'
function getUsers({ db = db }) {
try {
return db
...
现在,当我在测试中使用该函数时,没有问题,因为我使用测试数据库在测试文件中调用该函数。但是真正的应用程序应该能够回退到默认值并在没有任何参数的情况下调用该函数。
但是在这里,我遇到了错误:ReferenceError: can't access lexical declaration 'db' before initialization。我不知道为什么会这样。
我通过重命名参数找到了解决方法。但是,我真的很想知道这里发生了什么。有人有想法吗?
解决方法:
import * as firebase from './firebase'
function getUsers({ db = firebase.db }) {
try {
return db
【问题讨论】:
标签: javascript firebase testing default-value destructuring