想要前端工程师,为什么要学习全新的原生 JavaScript?

JavaScript 是前端开发工程师最重要的技能,没有之一。在 Vue.js、React.js、Koa、Echarts 等框架风靡一时的背景下,原生的 JavaScript 就可以被抛弃了吗?答案是否定的。

typeof 10n;

这个正确的直接结果是:bigint。

那么 bigint 是用来解决什么问题的呢?从字面意思就能猜出 big 的含义,我们知道 Number 基本类型可以精确表示的最大整数是 2^53,如果超出了这个范围那就会出错了,所以在 ES10 提出了 bigint 数据类型来解决这个问题。

开场白结束了,我的观点也表达完了:原生能力是框架所不能取代的。

辩证关系

此时此刻,很多同学还处于朦胧中:原生JavaScript不能被框架所取代,那他俩的关系是什么?需要我二选一吗?

Javascript框架是指以Javascript语言为基础搭建的编程框架

这是百度百科的定义,换句话说框架本质上还是原生的 JavaScript,如果 JavaScript 不具备的能力,框架也注定无能为力。其次,框架更注重的是效率的提升而非能力。比如 Vue.js 让大家编写组件更容易了让我们写业务的开发效率提升了,但是不能说 Vue.js 让原生 JavaScript 的能力增强了。反过来说原生 JavaScript 能在框架之上做什么?那就是写业务逻辑了或者补充框架能力(插件)。比如我们经常使用 Webpack 框架,如果我们想写一个 Webpack 插件还是需要用原生 JavaScript 来编写的。当然就算我们使用 Vue、React 这样的框架,业务逻辑也是需要原生 JavaScript来写的。

JS升级:ES6

前端开发者一路从 ES3 写到 ES5,2015年发布了 ES6 让原生 JavaScript 能力大幅提升,Class、Proxy、Generator等专用语法和能力标准化,也逐步得到各大浏览器的兼容。对于前端开发者来说我们可以极度精简代码和提升开发效率,不妨看下:

“初始化一个数组,要求数组的长度是 5,每个元素的默认值是 0”

这道题看似非常简单,我们可能会这样来写代码:

const arr = []
for(let i = 0; i < 5; i++){
  arr.push(0)
}
web前端开发学习Q-q-u-n: 731771211  ,分享学习的方法和需要注意的小细节,不停更新最新的教程和学习方法(详细的前端项目实战教学视频,PDF)

可是如果你学习过 ES6 的语法,就会知道 Array 新增的原型对象方法上有个 fill 的 API,它可以轻松实现这个题目,代码如下:

const arr = Array(5).fill(0)

这就是新的语法赋予 JavaScript 新的能力

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值