Javascript无处不在。如果我们谈论的是任何小型创业公司或大公司, 那么大多数公司都在任何类型的网站或应用程序上工作, 这些网站或应用程序总是在寻找具备Java知识的人。数以百万计的网页均基于JavaScript构建, 至少目前还没有出现。这种语言的需求量很大, 并且有大量的职位发布, 你可以在领英。 HTML和CSS赋予网页样式的一侧, 而JavaScript则使网页更加生动。
的Java脚本被广泛使用, 不仅限于你的网络浏览器, 而且还广泛应用于服务器端。你可以检查的所有网站中有95%使用JavaScript。这里。根据2019年Stack Overflow开发人员调查JavaScript也是#1编程语言, 因此, 如果你想选择javascript并成为javascript忍者, 那么这并不是一个愚蠢的决定。
现在, 在使用该语言时可能会遇到的问题是从哪里开始, 应该选择哪个框架, 需要涵盖的内容, 书籍, 教程, 博客或应该遵循的路径。放松一下, 深吸一口气, 我们将一一告诉你所有内容, 并为你提供成为Javascript开发人员的完整路线图。
1.基本原理和异步概念:如果你是初学者, 则应首先关注核心概念或基本基础知识, 例如Let, var和const, If-else语句, 循环, 函数, 映射, 过滤和归约, 表达式和运算, 数字, 字符串, 数组和对象, ES5, ES6。在继续前进之前, 你应该了解所有基本概念。如何操作DOM, 如何使用事件以及Javascript中的所有其他基本内容。当你清楚其基本概念后, 请了解javascript的异步行为。还要了解原型, 强制, 托管, 范围, 回调, 承诺, 闭包, 高阶函数如何在此javascript中起作用。
2.应对算法挑战:当你以JavaScript开发人员的身份申请Job时, 你将在面试中遇到一些需要解决的算法难题。会有一些代码测试或很少有公司愿意发送在线测试或项目存储库, 或者他们可以要求在公司执行一些实时代码测试。因此, 我们强烈建议你在完成基本概念后, 解决一些算法难题并测试你的知识, 并检查代码是否进行某些操作或采用其他一些输入示例。尝试使用代码时, 请检查输出有何不同。
3.客户端框架和库:当涉及到应用程序的前端部分时, 那么多的Javascript框架和库就在那里, 这使开发人员感到困惑, 无法在所有的Javascript框架和库中选择正确的框架。注意两件事学习曲线和从工作观点我们强烈建议你选择Vue.js或ReactJs或AngularJS。这些客户端框架和库在就业市场上有很高的需求, 并且大多数公司都使用它来构建其应用程序。你可以在下面查看这些框架的流行程度和比较Google趋势或者你也可以检查链接Angular vs React在选择正确的学习框架方面提供进一步的帮助。
4.服务器端框架和环境:JavaScript不仅限于浏览器, 还可以在浏览器之外运行节点JS是一项允许你在浏览器外部运行Javascript的技术。节点是一个非常强大的运行时环境, 它使javascript成为一种后端编程语言, 并且近年来, 开发人员更喜欢使用节点JS随着ExpressJS这是Node的框架, 广泛用于构建后端API。因此, 我们强烈建议你同时学习两者。
5.数据库:在实施javascript应用程序时, 你应该至少了解一个数据库来连接应用程序以及存储和处理数据。你可以使用任何SQL或NoSQL数据库。其中一些选项是MongoDB, PostgreSQL, MySQL, CouchDB, Redis。因此, 请确保你至少具有一个数据库的基本知识。
6.任务运行程序和模块捆绑包:任务运行程序可帮助串联多个js文件, 并且每次更改某个文件时它就会运行。古尔普和咕unt声这两个任务运行程序主要由开发人员使用。如果我们谈论模块捆绑软件, 那么这些模块负责在执行之前将Javascript文件缝合到一个文件中, 它将提高网站性能。Webpack和浏览器这两个是大多数开发人员首选的, 因此我们建议你选择上面的任务运行器和模块捆绑器。
7. OOP和函数式编程:用javascript进行的面向对象编程无法正常工作, 因为它可以在其他编程语言中工作。它的概念不同, 并且可能引起混乱, 因为JavaScript是基于原型的, 而不是基于类的。请参考链接面向对象的Javascript以更好地了解它。另外, 了解函数式编程, 并了解它与OOP的不同之处。检查链接功能编程和函数式编程简介以更好地理解Java语言。
8.设计模式:设计模式有助于使应用程序具有可扩展性和可维护性, 还可以使开发人员更轻松地工作, 因此, 学习使用Javascript中的一些常见设计模式, 例如Module, Prototype, Observer, Singleton, 还学习如何使用它们来解决不同类型的问题。你可以检查链接JS中的设计模式了解该主题。
9.部署和托管:完成所有概念后, 你可以创建自己的项目, 但故事还不止于此。你还需要在实时服务器上部署项目, 这将帮助你找到一份工作, 制作一份投资组合并据你自己的知识进行。GitHub Pages, Heroku, Netlify, Digital Ocean, AWS, Firebase.Heroku和Netlify超级容易访问, 因此你可以选择其中任何一个。
10.其他东西
- 测试库:Jest, Mocha, Jasmine, Sinen, Chai, Enzyme
- 包管理器:NPM和Yarn。
- 浏览器和开发者工具:Chrome, Firefox, MS Edge及其开发或调试工具。
- 版本控制
- 文本编辑器
- 的知识的HTML和的CSS
下面是Javascript前端和后端部分的清晰图片。
客户端:
图片来源:Google
服务器端:
图片来源:Google
你还可以阅读以下内容:
- 雄辩的Javascript
- 你不懂JS
- MDN
一些最佳的视频:
- 趣味功能
- LearnCode.academy
- 新波士顿
新闻通讯:
- JSK日报
- Javascript周刊
- 很棒的Javascript
专家追随:
- 凯尔·辛普森(Kyle Simpsons)
- 埃里克·艾略特(Eric Elliot)
- 艾迪·奥斯曼尼(Addy Osmani)
- 保罗·爱尔兰
- 乌玛·汉莎(Umar Hansa)
- MPJ
- 韦斯·博斯
- JavaScriptKicks(组织)
- _devblogs(组织)
面试问题:
- 36个基本的JavaScript面试问题
- 21个JavaScript面试基本问题
- 每个javascript开发人员必须知道的10个面试问题
参考:
- 全栈JavaScript路线图
- Kamran Ahmed Gihub链接