美文网首页
第二章 《整理代码》

第二章 《整理代码》

作者: CCCCCccccccch | 来源:发表于2020-02-21 11:41 被阅读0次

    1. JSX

    为了在代码中使用JSX和ES2015的特性,我们需要安装Babel。

    Babel是React社区广泛使用的一个流行的JavaScript编译器。

    Babel可以将ES2015的JavaScript代码编译成ES5的,也能把JSX转化成JavaScript函数。这个过程称为转译,因为它将源代码编译成另一份新源代码,而不是可执行文件。

    安装babel:npm install --global babel-cli

    值得注意的是,jsx仅仅是语法糖,在浏览器中运行前需要转译成JavaScript。

    2. ESLint

    我们总是希望尽可能写出最佳代码,但有时总会出错,然后需要花数小时定位 bug,最后发现只是拼写错误,这很令人沮丧。好在一些工具可以帮助我们在输入过程中检查代码的正确性。

    首先,执行以下命令来安装ESLint:npm install --global eslint

    可执行程序安装完成后,就可以用以下命令来运行它:eslint source.js

    输出结果会告诉我们文件中是否有错。安装后首次运行不会看到任何报错,因为它各方面都需要配置,一开始并不包含任何默认规则。

    ESLint 规则具有决定问题严重程度的三个等级。 

    off(或者 0):禁用规则  

     warn(或者 1):规则会产生警告

    error(或者 2):规则会抛出错误  

    3. 函数式编程

    函数式编程就是一种声明式范式,能够避免代码副作用,同时它推崇数据不可变,以便更易维护与考量代码。

    JavaScript函数是一等对象,这意味着它们可以赋给变量,也可以作为参数传递给其他函数。高阶函数接受一个函数作为参数,也可以传入其他参数,最后返回另一个函数。返回的函数经常会添加一些增强的特殊行为。

    高阶函数

    编写纯粹函数时函数式编程的一个重要方面。纯碎函数是指它不产生副作用,也就是说它不会改变自身作用域以外的任何东西。

    举例来说,如果函数改变了应用状态、修改了上层作用域定义的变量,或者与DOM这样的外部实体发生了交互,那么该函数就是非纯函数。非纯函数很难调试,而且大多时候不可能多次调试他们并期望得到同样的结果。

    纯函数与非纯函数

    那么纯函数在修改变量值时应该怎么做呢?在函数式编程中,函数不会修改变量值,而是创建新的变量,赋新值后再返回变量。操作数据的这种方式称为不可变性。

    柯里化是函数式编程的常用技巧。柯里化过程就是将多参数函数转换成单参数函数,这些单参数函数的返回值也是函数。

    柯里化

    组合:函数(和组件)可以结合产生新函数,从而提供更高级的功能与属性。

    组合 函数式编程与UI

    相关文章

      网友评论

          本文标题:第二章 《整理代码》

          本文链接:https://www.haomeiwen.com/subject/vfwtxhtx.html