HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

着眼语言本身,咱们来聊聊 JavaScript | 极客时间

  • 2019-11-14
  • 本文字数:1457 字

    阅读完需:约 5 分钟

着眼语言本身,咱们来聊聊 JavaScript | 极客时间

JavaScript 和 HTML 、CSS 同属前端工程师必须掌握的三大技能,重要性不言而喻。这几年,随着行业的发展,JavaScript 更是变得无所不能,毫不夸张地说,现在我们看到的基本所有的主流互联网应用,它的前端都有大量的 JavaScript 代码。


但是,入行 20 多年,我发现很多人对 JavaScript 的印象都只是“简单易学”,对其掌握也仅仅停留在“会用就好”,以至于不求甚解、迷失于 JavaScript 。究其原因,他们从来都只是“写代码”,而没有去真正去了解、去探索“什么是语言”。


其实,JavaScript 作为一门语言,虽然易上手,但却有着诸多复杂微妙的机制,想要真正掌握绝非易事。而这些机制,正是语言的精髓。只有当你深入理解语言内部的实现原理,才能做到无论出现什么新技术、新框架,都能轻松应对。


这也是为什么我一直认为:每个工程师都应该构建一个语言知识结构。因为,一旦你建立了你的体系性,你对代码的洞察力绝对会随之而提升,让你可以在纷繁的代码中快速找到性能、组织、逻辑等方面的关键所在,并在语言层面给出合理的解释。这就相当于你创建了游戏规则,拥有了“编程游戏”中的上帝视角。你将会有一种切实的、万物如一的操控感


在过去的二十年中,我一直不断探索 JavaScript 语言背后的机制:一面研究它的语言精髓,一面做编程实践。在我和极客时间合作的《JavaScript 核心原理解析》专栏中,我希望把我找到的答案分享给你。我将以“语言”为核心,和你一起讨论我对 JavaScript 各种语言特性的理解。


你会发现,这个专栏和其他不同,每一讲的标题都是一行代码,并且,这些代码在表达多种语言特性的同时,都指向一个核心的内容讲述方向。


我希望通过这个专栏,你能找到自己对语言的认识,构建一个语言知识结构。因为我始终认为,“构造认识”对你是极致重要的事情,并且越早越好。


也欢迎你在专栏中跟我一起探讨 JavaScript,我会知无不言言无不尽。


我是谁?

我是周爱民,目前是南潮科技(Ruff)首席架构师。和你一样,我是个喜欢 JavaScript 的人。很多人认识我,可能都是通过我写的《JavaScript 语言精髓与编程实践》一书。


从业二十多年,我深入研究过 JavaScript、Delphi、Erlang,也专注于软件开发与架构、项目管理,曾担任盛大网络平台架构师、支付宝业务架构师和豌豆荚首席架构师。


我也特别热爱写作与分享,出过《Delphi 源代码分析》、《大道至简:软件工程实践者的思想》、《大道至易:实践者的思想》、《程序原本》以及《我的架构思想:基本模型、理论与原则》等书。

你将获得什么?

专栏分为以下 4 个模块。

1.从零开始

第一部分我会主要讲述构成 JavaScript 语言的基础——JavaScript 语言的静态结构,主要包括词法环境、块级作用域、语句、声明、字面量、变量环境、模块(名字空间)等等。

2.从表达式到执行引擎

第二部分我会主要讲述 JavaScript 的执行过程,包括执行栈、执行队列、执行上下文、函数(函数对象/闭包)作为执行结构如何参与运算等等,还将讲述表达式(运算符+操作数)与优先级这个体系,说明表达式运算与语句运算间的不同。

3.从原型到类

第三部分我会讲述 JavaScript 面向对象编程体系中最核心的一些设计,包括类继承、原型继承、属性表的使用、内部方法等等,并对索引数组和关联数组在 JavaScript 中的应用与整合做深度的分析。

4.从粗通到精通的进阶之路

最后,我会讲述 JavaScript 作为动态语言的主要特性,包括动态的类型、动态的执行过程和动态的环境上下文等等。


专栏目录👇


限时订阅福利

1.早鸟拼团价 ¥55,原价 ¥68,戳我订阅


2.分享海报,邀请好友订阅即可获得 ¥18 返现,多邀多得,上不封顶。


2019-11-14 15:122039

评论

发布
暂无评论
发现更多内容

市场进展不断,STI 包括ZB等一系列上线预示着什么?

BlockChain先知

Bigdata 作业第七周

Pyel

[Day18]-[动态规划] 打家劫舍3

方勇(gopher)

LeetCode 动态规划 数据结构和算法

消息队列存储消息数据的MySQL表

Fingal

#架构实战营

尤达 DDD 领域驱动设计思想课程总结

代廉洁

尤达DDD领域驱动设计思想

架构实战营:模块八作业

刘璐

模块3 作业

KennyQ

微信小程序开发设计需要注意的五个点

源字节1号

前端 后端 软件开发 小程序开发

浅谈项目中的需求管理

秋去冬来春未远

需求管理 需求分析 需求和问题

在线ASCII Banner艺术字生成工具

入门小站

工具

架构训练营模块八

Geek_16d2b8

架构训练营 模块八

你好spring-cloud-kubernetes

程序员欣宸

4月月更

爱讲故事的计算机科学家,和他的分布式系统

多颗糖

【架构学习08】——设计消息队列存储消息数据的 MySQL 表格

tiger

架构实战营

都是分布式操作系统,Laxcus和鸿蒙有何不同?

LAXCUS分布式操作系统

分布式计算 分布式存储 集群架构 鸿蒙系统 分布式操作系统

开疆作剑,开荒为犁:2022春天,文心大模型走进产业的百花深处

脑极体

[模块8]消息队列存储消息数据的MySQL表格

凌波微步

「架构实战营」

性能分析优化的道与术

老张

性能优化 性能分析

作业八

Geek_f3e842

架构实战营

消息队列存储消息数据的MySQL 表格设计

tom

模块八作业:设计消息队列存储消息数据的 MySQL 表格

炎彬

「架构实战营」

消息队列存储消息数据的 MySQL 表格

阿卷

架构实战营

linux之rename命令

入门小站

设计消息队列存储消息数据的 MySQL 表格

smile

文件包含漏洞带来的危害

喀拉峻

网络安全 漏洞

多系统信息化实施项目注意事项

秋去冬来春未远

数字化 信息化 系统集成 ERP 多系统

消息队列MySQL存储设计

石小天

「架构实战营」

模块八作业

Geek_ec866b

架构训练营

一个系统工程师的14条建议

一席

高可用 稳定性 SRE 混沌工程 故障排查

模块8作业

Mr小公熊

MQ存储消息的MYSQL表格设计

邹玉麒

架构训练营5期

着眼语言本身,咱们来聊聊 JavaScript | 极客时间_大前端_周爱民_InfoQ精选文章