我如何调用一个嵌套的函数从另一个文件在 typescript

0g0grzrc  于 2023-05-19  发布在  TypeScript
关注(0)|答案(1)|浏览(175)

文件1:

export func foo1 {
    const foo2 { return something}
    return foo1something
}

我只是想在我的测试文件中测试这个foo2单独的函数:
文件2:

import { foo1 } from '../file1';

现在我如何在这里访问foo2?

wnvonmuf

wnvonmuf1#

您的导入看起来很好,问题与“不同文件”或“导入”无关。
letconstnested functionsblock-scoped,因此无法在原始函数之外访问它们。
它们仅在嵌套函数(block-scope)中可用。
你可以在oute函数内部调用inner函数。

export function foo() {
    console.log('foo');
    function bar() {
        return `bar`;
    }
    return bar()
}

console.log(foo());

结果:foobar
你可以声明一个对象或类,并将嵌套的函数或方法作为属性,然后从“外部”调用它:
文件1:

export const someObject = {
  foo: () => { console.log('foo') },
  bar: () => { console.log('bar') }
}

文件2:

import { someObject } from "./File1";

someObject.foo();
someObject.bar();

结果:foobar

相关问题