Javascript 为什么我不需要导入相关模块?

Javascript 为什么我不需要导入相关模块?,javascript,reactjs,jestjs,Javascript,Reactjs,Jestjs,我是新手,如果我的问题听起来很愚蠢,我很抱歉。我正在使用npx create react应用程序创建react应用程序。但我不知道幕后发生了什么: Q1如果我在组件中抛出错误,如: import React, { Component } from "react"; ... render() { throw new Error("something went wrong"); } 我没有从任何模块导入错误名称功能,错误来自哪里?我如何直接使用它而不导入任何相关模块,如: import E

我是新手,如果我的问题听起来很愚蠢,我很抱歉。我正在使用npx create react应用程序创建react应用程序。但我不知道幕后发生了什么:

Q1如果我在组件中抛出错误,如:

import React, { Component } from "react";
...
render() {
    throw new Error("something went wrong");
}
我没有从任何模块导入错误名称功能,错误来自哪里?我如何直接使用它而不导入任何相关模块,如:

import Error from "XXX";
Q2创建react应用程序时,有一个名为app.test.js的测试文件,在该文件中,有一个名为

那么它来自哪里呢?再说一遍,为什么我不需要导入任何模块来使用它?

错误是JavaScript的默认对象,您可以阅读更多关于它的信息

它是jest framework的全局变量。请参阅

您不必导入框架或语言提供的全局变量和方法。

错误是JavaScript的默认对象,您可以阅读更多有关它的信息

它是jest framework的全局变量。请参阅

您不必导入框架或语言提供的全局变量和方法。

错误是纯JS功能,这就是为什么您不需要作为javaScript引擎的一部分导入

了解更多关于

它是测试框架的一部分。如果你用的是笑话/茉莉花什么的。无论何时运行测试用例,所有测试框架方法都会在运行测试用例的当前浏览器会话中全局可用。所以不需要。

错误是纯JS功能,这就是为什么不需要将其作为javaScript引擎的一部分导入

了解更多关于

它是测试框架的一部分。如果你用的是笑话/茉莉花什么的。无论何时运行测试用例,所有测试框架方法都会在运行测试用例的当前浏览器会话中全局可用。所以不需要

it('renders without crashing', () => {
    ...
});