JavaScript大师必须掌握的12个知识点

news/2024/2/28 1:30:11

译者按: 前端技术涉及的越来越多!

  • 原文: 10 things to learn on the way to becoming a JavaScript Master
  • 译者: Fundebug

为了保证可读性,本文采用意译而非直译。另外,本文版权归原作者所有,翻译仅用于学习。

既然你对这篇文章感兴趣,我想你应该是一位前端开发,也许你有一份不错的工作、自主创业甚至是一位自由从业者。不知你的前端技术如何,也许你是一位新手,亦或是一位资深开发。
如果你想让自己成为一个 JavaScript 大师,在此我列出 12 条必备知识:

1. 控制流(Control Flow)

我们从最基础的开讲。当然,它也是最重要的一个知识点。如果你连这个都没有整明白的话,那你的代码生活将会很艰难。

  • if else : 如果连这个都不知道,之前怎么码代码的?
  • switch : 当有很多的情况要处理(>2)的时候,用它准没错。
  • for: 不要去编写重复的代码,请使用 for。for offor in都十分便利。一个很大的优势在于 for 循环是阻塞式的,可以配合async await使用。
  • 高阶的条件语句: 使用三元运算符或则逻辑判断。如果想把代码写得简洁,甚至不需要存储中间值的话,可以这么做。
// ternary
console.log(new Date().getHours() < 12 ? "Good Morning!" : "Time for a siesta");// logical operators
const isJsMaster = prompt("Are you a JavaScript master?") === "true";
console.log(isJsMaster && "proficient coder");

2. 异常处理

不管前端还是后端工程师,作为一个新手,经常会使用console.log或则console.error来处理错误。为了写出健壮的应用,则需要改掉到处使用 console.log 的习惯,构建自己的异常处理器,然后优雅地处理异常。
你也许对如何处理异常很感兴趣,可以看看我写的这篇文章。

3. 数据模型

需要想清楚如何组织数据(合并或则分离),这不仅仅关乎在数据库里如何定义其模型,同时也包含了函数参数,定义的变量、对象等等。

const calcShape = (width, height, depth, color, angle) => {...}
const calcShape = ({width, height, depth, color, angle}) => {...}

4. 异步性

这个是 JavaScript 非常重要的一个特性,要么需要从服务器获取数据或则在服务器端异步去处理请求。几乎在所有的情况下,都要面对异步。如果搞不清楚异步,可能会遇到非常奇怪的报错,以至于要花费几个小时去搞定它。如果你知道异步,但是没有完全理解,那么可能掉入“回调地狱”。如今,最好的方法是使用 Promises 和async await

5. 操作 DOM

对于开发者来说,通常已经学会了 jQuery,似乎不需要再去了解如何直接操纵 DOM 的技巧。甚至直接使用前端框架,根本不需要去操纵 DOM 了。但是,我认为对于理解前端 JavaScript,这是必不可少的一环。知道 DOM 的工作原理以及如何操纵 DOM 元素会让你对网页的工作机制有更加清楚的理解。而且,尽管使用了前端框架,总有些情况下你需要直接操纵 DOM。打个比方,如果仅仅只是想访问某个元素,你肯定不想把整个 jQuery 都导入到项目中吧。

6. Node.js / Express

作为一名前端开发,依然需要学习一点 Node.js。最好懂得如何用 Express 快速搭建一个服务器,并且使用路由功能。JavaScript 作为一门“脚本”语言,很适合定义各种自动化任务,因此知道如何读取文件,操纵 Buffer 可以助你构建工作流。

7. 函数式编程

函数式编程和面向对象编程哪个更好的争论由来已久。其实,你可以使用任何一种编程方式达到相同的目的。在 JavaScript 中,事情变得简单,两种方式任你挑选。像lodash就以函数式的角度提供了非常多的工具函数。如今,甚至很多函数已经内置实现,无需导入外部库,比如map,reduce,filter,forEach,find

8. 面向对象编程

和函数式编程类似,你同样需要熟悉面向对象的 JavaScript 编程。我曾经很长一段时间拒绝在 JavaScript 中使用面向对象,但是后来发现使用对象/类/实例的方式确实会更加合适。类(class)广泛使用于 React, Mobx 或则一些自定义的构造函数中。

9. 前端框架

当今最流行的三大框架:React.js,Angular 和 Vue.js。如果你在找一个前端的工作,在简历上面至少需要列出它们其中之一。尽管它们更新很快,你需要理解它们总体的工作原理。而且,对底层原理的理解可以让你更好地使用框架编写应用。如果还不确定上哪辆车,我建议学习 React.js。我已经使用了好些年,并且不后悔当初的选择。(译者建议 Vue.js,简单好用上手快)

10. 编译(transpilation)/打包

很不幸,在 Web 开发中这一工作占了很大比重。一方面我又不能说不幸,它使得我们可以用最新的特性来编写代码。我说不幸是因为我们需要时刻注意新的特性在某些旧版本的浏览器不支持,需要将其翻译到低版本浏览器解释的代码。业界的通用标准是babel.js,你需要熟悉它。对于打包,可以使用老大哥Webpack ,或则后起之秀parcel。我倾向于使用 parcel,尽管不完美,但是它性能很好,而且配置方便。

11. 正则表达式

不仅仅针对 JavaScript,但是真的非常有用,也很容易让人迷惑。掌握正则表达式会花点时间,不需要记住所有的情况,可以边查边用。

12. 测试

正如Paul Kamma指出,在软件开发中,测试真的是一个非常重要的部分。JavaScript 也不例外,在发布新功能前,最好是(一定要)对代码进行充分的测试。甚至某些情况下需要手动操作,也是值得的。当然,使用自动化测试工具才能一劳永逸,测试包括:单元测试、端到端测试、加载速度测试、安全测试或则前端测试(组件是否加载)。目前市面上已经有很多用于测试的工具,比如 enzyme, jasmine, mocha, chai 等等。我现在最喜欢的是ava.js。

关于Fundebug

Fundebug专注于JavaScript、微信小程序、微信小游戏、支付宝小程序、React Native、Node.js和Java线上应用实时BUG监控。 自从2016年双十一正式上线,Fundebug累计处理了10亿+错误事件,付费客户有Google、360、金山软件、百姓网等众多品牌企业。欢迎大家免费试用!

版权声明

转载时请注明作者Fundebug以及本文地址:
https://blog.fundebug.com/2019/04/03/handle-erros-in-js/


http://www.ppmy.cn/news/440560.html

相关文章

组件之间的传值

文章目录 父组件通过 Prop 向子组件传递数据父子组件传值时生命周期顺序prop 传值的注意点 父组件监听子组件事件通过 emit 实现监听父组件直接调用子组件方法 vue 父子组件传值不能实时更新 父组件通过 Prop 向子组件传递数据 一个组件默认可以拥有任意数量的 prop&#xff0…

windows11便签在哪里,win11怎么新建便签

Win11系统出来后&#xff0c;很多Windows用户迫不及待地把自己的电脑系统升到了win11。升级新系统后&#xff0c;首先要关注一下自己的办公软件还在不在。像便签这种方便随时记事的软件&#xff0c;更要尽早找到它&#xff0c;并熟悉它的使用方法。那么Windows11便签在哪里&…

Win10系统新款便笺便签居然可以这么好用

Win10系统在办公环境下使用得非常广泛&#xff0c;win10系统有自带的便笺软件&#xff0c;可以从开始菜单里找到&#xff0c;点击图标就可以在桌面上使用了。Windows10自带便笺可以记录文本内容以及粘贴图片&#xff0c;但是没有提醒功能。如果不需要便笺主动发出提醒以及跨平台…

联想笔记本怎么找计算机放桌面,联想笔记本电脑便签在哪,笔记本电脑便签在哪里?...

原标题&#xff1a;联想笔记本电脑便签在哪&#xff0c;笔记本电脑便签在哪里&#xff1f; 小编发现有些使用联想笔记本的网友&#xff0c;在电脑上找不到系统自带的便签小工具&#xff0c;如果电脑系统上确实没有自带的便签小工具&#xff0c;可以打开一些网页便签&#xff0c…

联想电脑装ubuntu的一些坑(一)

ubuntu的实操 联想笔记本的wifi无法启动软件安装源和pip源的安装和更换软件的安装 笔者的ubuntu在pip出现问题之后&#xff0c;不断地重装一些关键的apt&#xff0c;dpkg等指令包&#xff0c;使用了太多的ln链接指令&#xff0c;最终系统崩溃了&#xff0c;连桌面也进不了。趁着…

msvcr110.dll,丢失修复,msvcr110.dll,丢失修复详细解决办法

我们在运行软件程序或者游戏的时候&#xff0c;如果程序提示“无法启动此程序&#xff0c;因为计算机中丢失msvcr110.dll。尝试重新安装该程序以解决此问题”&#xff0c;如果说明您电脑系统中缺少或者未注册msvcr110.dll这个运行库文件&#xff0c;那么我们要如何解决这个问题…

用人话讲C++——继承(5)

文章目录 前言的小介绍继承与派生的基本概念 前言的小介绍 继承机制的主要功能是&#xff0c;对一个已存在的类进行扩充和增加功能&#xff0c;从而得到一个新的类。 继承机制是面向对象程序设计中代码复用的重要手段&#xff0c;可以大大提高编程的效率和可靠性。 但是&…

反激式开关电源设计方案,12V6A输出

反激式开关电源设计方案&#xff0c;12V6A输出&#xff0c;有完整原理图&#xff0c;PCB工程文件&#xff0c;BOM表&#xff0c;可直接使用。 YID:5829666973226066赫尔希谦虚的甘草

高性能计算机重要的配件,电脑最重要的部件是什么?是电源!

电脑中最重要的部件是什么&#xff1f;相信绝大多数人给出的答案不是CPU就是显卡。没错&#xff0c;电脑所表现出的所有性能几乎都受制与这两个主要部件的性能。而接下来大家在满意了各自的电脑性能之后&#xff0c;更为关心的一个问题也就是稳定性了。 当我们电脑出现故障时&a…

基于SF1565的120W反激式开关电源设计

由于本人对开关电源了解不深入&#xff0c;首次试做&#xff0c;居然没有炸机,开心,然后就是失落,感觉好多东西还是不太明白,因此仅做简单设计总结说明: 1、理解反激式开关电源原理&#xff0c;这是基础中的基础&#xff0c;就是将交流电整流滤波后通过高频开关管不停开关到地…

精通开关电源设计(一)

1. 真实的半导体开关器件都有寄生的并联电阻&#xff0c;实际上来源于导致泄露损耗的漏电流通路模型。器件的正向压降一定意义上也可看作导致导通损耗的串联寄生电阻所产生。 2. MOSFET的寄生参数&#xff08;电容&#xff09;是限制其开关速度&#xff08;转换时间&#xff0…

【电源专题】线性稳压器基础(线性稳压器是哪里线性了?)

线性稳压器为什么被称为线性稳压器&#xff1f;是哪里线性了&#xff1f;在【电源专题】线性稳压器&#xff08;LDO&#xff09;简介中我们介绍到&#xff0c;目前大多数的线性稳压器使用PMOS架构。因此我们今天就以PMOS为例&#xff0c;从原理上了解线性稳压器为什么说是线性的…

【电源设计】05反激式开关电源

文章目录 1.反激flayback工作机制分析1.1简介1.2原理1.3原理总结 2.反激开关电源设计关键与元器件选型分析3.典型应用 1.反激flayback工作机制分析 1.1简介 反激式开关电源是指使用反激高频变压器隔离输入输出回路的开关电源&#xff0c;变压器不仅起到变换电压传输能量的作用…

浅谈线性稳压电源和开关稳压电源(开关电源)

目前现有电源主要分为两大类&#xff1a;线性稳压电源和开关稳压电源&#xff08;开关电源&#xff09;。 线性稳压电源 线性稳压电源经过变压、整流、滤波、稳压实现电源稳压。 优点&#xff1a;稳定性好&#xff0c;瞬态响应速度快&#xff0c;可靠性高&#xff0c;输出电压…

VPS8505 微功率隔离电源专用芯片2.3-6VIN/24V/1A 功率管 替代金升阳模块

前言 隔离电源市场&#xff0c;一直被塑封模块产品占领&#xff0c;之前国内无专业 做隔离芯片的厂家&#xff0c;市场以模块厂进口芯片方案为主&#xff1b; 模块体积大&#xff0c;价格高&#xff0c;无法自动化生产&#xff1b;进口芯片供应不稳定&#xff0c;价格高&…

记第一次组装台式电脑电源的小插曲附电源线接口汇总

本人作为一个嵌入式软件工程师&#xff0c;略懂一些硬件知识&#xff0c;在第一次组电脑时&#xff0c;为了确定散热风扇出风口的方向&#xff0c;于是决定风扇先接电看看。 风扇连接好PC电源&#xff0c;给电源上电&#xff0c;结果散热风扇纹丝不动&#xff0c;观察电…

【开关电源二】电源拓扑之反激

&#x1f449;个人主页&#xff1a; highman110 &#x1f449;作者简介&#xff1a;一名硬件工程师&#xff0c;持续学习&#xff0c;不断记录&#xff0c;保持思考&#xff0c;输出干货内容 目录 1.1 反激电路简介 1.2 反激电路工作原理 1.2.1连续电流模式 1.2.2断续电流模…

高精度,高频率,低功耗,茂睿芯电源芯片进入Anker户外电源供应链

前言 户外电源在户外野营、自驾旅游上使用频率非常高&#xff0c;此外也可应用在应急供电、室外直播摄影、户外作业、应急救援等诸多领域。对于一款户外电源来说&#xff0c;要满足高精度的高功率输出&#xff0c;其内部的降压控制器性能要求非常高。 最近ANKER安克推出的一款 …

【电源设计】09磁芯元件在开关电源中的应用

0.前言 本章主要介绍电感相关知识以及其在电源电路中的应用与计算。 本文同时作为《【元器件】6.电感》章节。 之前一直找不到硬件题目来练习&#xff0c;老羡慕人家做软件的&#xff0c;最近发现牛客居然有硬件相关题目&#xff01;这是链接&#xff0c;牛客网刷题(点击可以跳…

京瓷打印机1025默认管理员密码_京瓷2235默认登录密码_动漫台

技术文档 主体内容&#xff1a;可以认为是页面最想表达的内容总和。对于内容详情页来说&#xff0c;主体内容指从标题开始至正文内容结束&#xff0c;翻页区域也被视为主体内容&#xff0c;文章后的评论、分享、推荐等不视为主体内容。 首屏&#xff1a;用户点击搜索结果后进入…
最新文章