首页 > 解决方案 > 无法理解 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”程序的教程,但都没有解释这些复杂的主题。

那么,任何人都可以就我现在必须学习的主题给我明确的指示,以便能够理解这些代码吗?蒂亚!

标签: javascript

解决方案


它主要是样板。如果方向很明确,您只需要弄清楚在hello功能块的主体中​​放入什么以产生所需的输出 - 例如,对于本练习,您想要

export const hello = () => {
  return 'Hello, World';
};

对于任何练习,你都会遵循相同的模式——找出你应该输入的函数,然后输入它。

=>是箭头函数语法。你不必担心,没关系 - 你可以做同样的事情

export function hello() {
  return 'Hello, World';
};

您也不应该关心进口/出口。它们是环境将您编写的函数连接到测试以查看该函数是否产生正确输出的一种方式 - 它内置在练习中,它不是您需要(或应该)以任何方式搞砸的东西。只需在上层函数中编写您需要的内容并运行测试即可。

阅读下面的测试将帮助您了解每个输入的预期输出类型 - 例如

expect(hello()).toEqual('Hello, World!')

是说,基本上,hello() === 'Hello, World!'应该是true


推荐阅读