javascript - 无法理解 Exercism.io
问题描述
我刚开始学习 Javascript,我认为一边看视频一边编码是掌握一门语言的最佳方式。我在 Javascript(简要)中学习了以下主题: - 基本 JS 运算符 - JS 数组 - JS 对象 - If-else 条件和循环
学习了这些之后,我进入了 Exercism.io,因为我在一些 reddit 评论中看到,exercism.io 是初学者练习 javascript 的好地方。但我无法理解 Exercism 中简单的“Hello World”程序。我的意思是,您只需在(大多数)“Hello world”程序中编写console.log(“Hello World”),因为它是一个非常非常基本的程序,对吧?如果是,那么这些到底是什么:
export const hello = () => {
throw new Error("Remove this statement and implement this function");
};
和这个:
import { hello } from './hello-world';
describe('Hello World', () => {
test('Say Hi!', () => {
expect(hello()).toEqual('Hello, World!');
});
});
什么是“=>”或“导出”或“导入...来自”?Youtube 上有关于如何设置 Exercism 和解决“Hello World”程序的教程,但都没有解释这些复杂的主题。
那么,任何人都可以就我现在必须学习的主题给我明确的指示,以便能够理解这些代码吗?蒂亚!
解决方案
它主要是样板。如果方向很明确,您只需要弄清楚在hello
功能块的主体中放入什么以产生所需的输出 - 例如,对于本练习,您想要
export const hello = () => {
return 'Hello, World';
};
对于任何练习,你都会遵循相同的模式——找出你应该输入的函数,然后输入它。
=>
是箭头函数语法。你不必担心,没关系 - 你可以做同样的事情
export function hello() {
return 'Hello, World';
};
您也不应该关心进口/出口。它们是环境将您编写的函数连接到测试以查看该函数是否产生正确输出的一种方式 - 它内置在练习中,它不是您需要(或应该)以任何方式搞砸的东西。只需在上层函数中编写您需要的内容并运行测试即可。
阅读下面的测试将帮助您了解每个输入的预期输出类型 - 例如
expect(hello()).toEqual('Hello, World!')
是说,基本上,hello() === 'Hello, World!'
应该是true
。
推荐阅读
- java - java.lang.RuntimeException:处理时出错:分数值必须在 0 到 1 的范围内:2.0
- javascript - 过滤已过滤的表或一次使用多个过滤器
- javascript - Jest 和 React 测试库未在页面加载时加载最终 DOM
- synchronization - 尽管使用了 sync 和 eval 方法,但 ArrayFire 数组计算的数据在执行过程中有所不同
- python-3.x - 在特定索引中扩展列表
- wordpress - Apache HTTPS 重定向不适用于深层链接
- laravel - CloudBuild 中 AppEngine 的 Laravel 迁移
- kotlin - 为什么函数中的类不能序列化?
- python - 如何在 Linux 上从 2 切换到 Python 3
- python - 将 Flask 应用程序部署到 Google Cloud Platform 时无法获得正确的 TensorFlow 版本