2019 年,JavaScript 都阅历了什么?

这些年,JavaScript生态系统异常生动:

ECMAScript打破多年的沉寂,每年都会给咱们带来新的特性,像async函数这种语法为开发者削减了许多冗余的代码;

JS咱们庭的其他成员也都在跋涉,早年端到后端,从底层的JS引擎到上层的NPM库,而咱们酷爱的

Vue正在重写3.0

;就连陈旧的编辑器也能带来新的惊喜,Visual Studio Code跨过各种其实还不错的竞品,成为

最受JSer欢迎的IDE

;Microsoft总算丢掉了倒腾异乎寻常的浏览器,挑选

参加Chromium阵营

,未来咱们总算能够少纠结一点兼容问题了…

2018也是相同精彩的一年,JavaScript都经历了什么呢?

The State of JavaScript调研

现已接连做了3年,本年总共调研了2万多个JS开发者。有这样一些有意思的发现:

绝大多数开发者都用过ES6,一同TypeScript也越来越盛行了;
React仍然最盛行的前端结构,一同Vue也越来越受欢迎了;
Express仍然是最盛行的Node.js结构,已然Node 8现已支撑async函数了,Koa的价值就大大降低了;
Visual Studio Code远远跨过Sublime,成为最盛行的JS编辑器。
作为一个后端用着Express结构、尽量运用最新的ECMAScript语法,而前端用着TypeScript、不过结构仍是AngularJS 1(这事要怪版别帝Angular不向后兼容),还丢掉了价值70刀的Sublime、本年参加VS code阵营的JSer——我也是算是够干流了吧!那你的技能债是怎样的呢?

TC39(ECMAScript标准委员会)这些年越来越勤快了,从2015年(ES6)开端,每年发布一个新的ECMAScipt标准。ECMAScript 2018,即ES9,则在6月按期发布了,其新增的特性并不多:

首要新特性:

Asynchronous Iteration;
Rest/Spread Properties。
新的正则表达式特性:

RegExp named capture groups;
RegExp Unicode Property Escapes;
RegExp Lookbehind Assertions;
s (dotAll) flag for regular expressions。
其他新特性:

Promise.prototype.finally();
Template Literal Revision。
假定想了解ES9的细节,能够看看Axel Rauschmayer博士写的Exploring ES2018 and ES2019(http://exploringjs.com/es2018-es2019/toc.html)。

Node 10在4月发布并且在10月成为LTS,即长期支撑版别。

Node 10运用了新的V8引擎6.8,因而功用行进了许多,比方Promise与Async函数的功用行进就十分显着,因而主张咱们晋级。

Node新版其他发布日期一向十分安稳,做到这一点也是不简略啊!

在Vue.js Conference Toronto 2018上,Vue.js 创作者尤雨溪宣告了主题讲演Vue 3.0 Updates,标明新版别将会有这些改动:

更快;
更小;
更易于保护;
更多的原生支撑;
丢掉Flow,运用TypeScript。
Vue 3.0与其说是更新或许重构,不如说是重写,由于改动很大,可是一同会确保向后兼容。

Vue 3.0估计将在2019年发布,咱们一同等候吧!

2年多时刻commit了4000屡次,Babel 7总算发布了(https://babeljs.io/blog/2018/08/27/7.0.0)。新增了下面这些特性:

babel-upgrade: 晋级Babel的东西;
babel.config.js:学习ESLint与Webpack,运用JS文件装备;
overrides:容许同一个项目运用不同的Babel装备,例如前端代码的targets为Chrome 60,而后端代码的targets为Node 8;

干流浏览器对新的ECMAScript特性现已支撑得不错了,不过仍是存在并且永久存在许多非干流浏览器,所以咱们仍是离不开共同的Babel。

早年风行一时的jQuery发布了3.3.0,这个版别丢掉了(deprecated)一系列办法:

jQuery.now;
jQuery.isWindow;
jQuery.camelCase;
jQuery.proxy;
jQuery.type;
jQuery.isNumeric;
jQuery.isFunction;
Event aliases。
这些办法大多会在jQuery 4.0中被删去,因而jQuery官方煽动咱们运用代替的办法。

从这个更新也能看出端倪,jQuery年代现已逐渐功遂身退 ,

GitHub网站爽性彻底移除了jQuery。

强健的V8引擎现已发布10周年了,它的命名构思来自超级功用车的V8引擎,揭露当之无愧!V8的功用一向在稳步行进:

V8引擎开端是为Chrome浏览器开发的,可是早已成为一个独立的项目。国内的许多浏览器,包括搜狗、360、猎豹、QQ、百度、UC都是依据Chromium开发的,而Chromium相当于开源版其他Chrome,天然也是依据V8引擎的。因而,许多"国产"浏览器实际上都是依据V8的。

融资了2.5亿元红芯浏览器

也不破例,他们爽性打包了Chrome浏览器的安装包,揭露有钱固执!还有,就连浏览器界的一朵奇葩Microsoft也投靠了Chromium阵营。

其他,Node.js也是依据V8引擎的。

这件事闹得沸反盈天,不过仅仅有许多噱头,假定仔细剖析黑客干了什么,其实在影响也没那么大,至少Vue开发者没啥好忧虑的:

比特币钱包copay依托event-stream模块;
黑客从骗取了event-stream模块的npm发布权限;
黑客为event-stream模块添加了依托flatmap-stream;
flatmap-stream含有黑客代码,仅会在copay项目中正确实行,盗取用户的暗码、私钥等信息,然后盗取比特币;
有人说什么Vue或许遭受侵略,其实没有这回事,由于黑客代码只会在copay项目中正确实行。只需copay项目的package.json中的description字符串"A Secure Bitcoin Wallet"能够解密黑客代码;并且,黑客的代码是为copay量身定做的,对其他项目没有效果;再说,黑客是来盗取的比特币的,又不是挖矿,你的项目有比特币给人家偷吗?
所以同学们,不要简略信任标题党…

关于《重构:改进既有代码的规划》这本书,我想大多数人都没看过,可是至少应该都听说过。这本书刚出了第二版,悉数示例代码由Java改成了JavaScript。

依据作者Martin Fowler的阐明,《重构》这本书关键在于思维,适用于各种编程言语,所以挑选什么言语并不重要。而他挑选JavaScript的原因很简略,由于JS既支撑面向进程编程,又支撑面向对象编程,这样便利写非OOP代码重构的示例。

前端大神尤雨溪说过这样一句话:

至于重构、规划什么的,我只想说,看的是运用的人的水平,跟用什么言语没那么大联络。水平烂的人用 TS 相同写的是翔相同的代码,看看 Java 就知道了。

《Refactoring》的示例代码用什么言语写根柢不重要,重要的是不和的编程思维。趁便推荐一下《Clean Code》,假定根柢的编程习气和思维没有行进的话,换个言语或许结构是没用的。

这本书原价54.66刀,确实有点贵,不过算是必读书,咱们看着办…

其他,GitHub的技能极客们花了数年时刻,以十分标准的流程彻底移除GitHub网站了jQuery:

完成了一个ESlint插件eslint-plugin-jquery,阻挠在代码中运用现已弃用的jQuery办法。这样能够避免同伴运用jQuery办法。
运用原生代码重写了2个依托于jQuery的模块jquery-pjax和facebox。
开发一个定制的jQuery版别,一旦彻底移除某个jQuery办法,就删去jQuery中的对应代码。这样既能够削减jQuery巨细,也能够避免同伴运用现已移除的jQuery办法。
依据用户统计数据,来逐渐丢掉支撑低版其他IE浏览器,这样的话能够无需依托jQuery来确保兼容性。

萝卜青菜各有所爱,是否运用jQuery各有各的主意和需求,可是GitHub弃用jQuery的流程十分专业,能够作为处理技能债的标准标准。

土豪Microsoft好像爱上了JavaScript,它家的Office 365、MicroSoft Teams以及Skype都开端运用JavaScript重写了。原因无疑是JS的跨途径特性——同一套代码多处作业,尽管现在还有许多问题,可是这样的未来不是挺好么?

此处应该再来感受一下大名鼎鼎的Atwood’s Law:

Any application that can be written in JavaScript, will eventually be written in JavaScript.

在浏览器市场上,Microsoft早年经过绑缚Windows打败了网景,不过这些年在Chrome面前落花流水,现在总算"认输",挑选依据Chromium重写浏览器。关于JSer来说,至少意味着浏览器兼容问题能够缓解许多。

依据The State of JavaScript 2018,Microsoft开发的Visual Studio Code俨然现已成为最受JSer欢迎的代码编辑器,一些盛行插件下载量高达上千万:

市值跨越Apple,重回全球市值最高公司的Microsoft有钱固执,

买下了JS开发者最多的GitHub

。从JSer的视点也能看出,IT界的罗马帝国(出自吴军的《浪潮之巅》)Microsoft又从头崛起了,这是一件很了不得的作业。

Oracle下一年就要开端给Java收费

,尽管仅仅JDK 8的u192之后的更新要收费,这个行为大概会让许多Java开发者不爽…

其他,Oracle还要求一个iOS开发者将一款叫做”HTML5, CSS, JavaScript, HTML, Snippet Editor“的App从App Store下架,由于App姓名中包括“JavaScript”字眼,而Oracle具有JavaScript在美国的商标权。

Oracle这位大爷惹不起,因而咱们正在正襟危坐地主张给JavaScript改名。当然这根柢上是不或许的,这辈子都不或许…

### 四前端开发经验的职位要求与技能水平 #### 技术能力 一名拥有四前端开发经验的工程师通常已经超越了初级阶段,进入了中级甚至高级阶段。这类开发者不仅能够高效完成日常任务,还应具备更深层次的技术能力和架构思维。以下是其核心技术和领域: 1. **HTML/CSS/JavaScript 的精通程度** HTML 和 CSS 是构建网页的基础工具,而 JavaScript 则是实现动态交互的核心语言。经过四的实践,开发者应对这些技术有深入的理解并能灵活运用[^1]。例如,在处理复杂的布局时,CSS Grid 和 Flexbox 应该成为常用手段;而在 JavaScript 方面,除了基本语法外,还需要熟悉 ES6+ 新特性以及模块化编程。 2. **框架与库的应用** Vue.js、React 或 Angular 这样的现代前端框架已经成为行业标准之一。具有多工作经验的开发者应该至少精通其中一个主流框架,并对其内部机制有一定理解。此外,他们也需要了解其他流行库(如 Redux、MobX),以便根据具体场景选择合适的解决方案[^2]。 3. **性能优化** 随着应用规模的增长,如何提升用户体验变得尤为重要。因此,资深前端需掌握各种性能调优策略,包括但不限于减少 HTTP 请求次数、压缩资源文件大小、懒加载图片等内容。 4. **跨浏览器兼容性调试** 尽管当前大多数主流浏览器都能较好支持最新 Web 标准,但在实际工作中仍不可避免会遇到不同平台间表现差异的问题。所以,解决这些问题的能力也是衡量一位优秀前端的重要指标之一。 #### 职业素养与发展潜力 除上述提到的专业知识之外,良好的职业态度同样不可或缺。对于有着较长时间从业经历的人来说,以下几点尤为关键: - **团队协作精神** 成功的产品离不开多部门间的紧密配合。作为项目成员之一,前端工程师不仅要专注于自己的部分,还要主动与其他角色保持良好互动,共同推进目标达成。 - **领导力培养** 当积累了一定限的工作阅历之后,许多人会被赋予更多责任,比如带领小组完成特定功能模块或者负责整个产品的前端设计实施等工作。此时展现出优秀的管理才能就显得格外重要了。 - **持续学习习惯** IT 行业变化迅速,新技术层出不穷。只有不断吸收新知才能够始终站在潮流前沿,从而为企业创造更大价值的同时也为个人职业生涯增添光彩。 ```javascript // 示例代码展示 React 组件状态管理和生命周期方法 import React, { Component } from 'react'; class MyComponent extends Component { constructor(props){ super(props); this.state = { count:0 }; } componentDidMount(){ console.log('组件已挂载'); } componentDidUpdate(prevProps, prevState){ if (prevState.count !== this.state.count){ console.log(`count 发生改变:${prevState.count} -> ${this.state.count}`); } } render() { return ( <div> <p>您点击了 {this.state.count} 次</p> <button onClick={() => this.setState({count:this.state.count + 1})}>点击我</button> </div> ); } } export default MyComponent; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值