写点什么

着眼语言本身,咱们来聊聊 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:122127

评论

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

【LeetCode】在每个树行中找最大值Java题解

Albert

LeetCode 7月月更

设计电商秒杀系统

Jadedev

「架构实战营」

牛客java选择题每日打卡Day5

京与旧铺

7月月更

如何有效远程办公之我见 | 社区征文

踏雪痕

远程办公 居家办公 初夏征文

分布式CAP理论

源字节1号

软件开发 后端开发

架构训练毕业设计+总结

小马

#架构训练营

leetcode 121 Best Time to Buy and Sell Stock 买卖股票的最佳时机(简单)

okokabcd

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

分布式系统:what、why、how

javaadu

分布式系统

封装Ajax

Jason199

ajax 7月月更

透过JVM-SANDBOX源码,了解字节码增强技术原理

柠檬汁Code(binbin0325)

互联网架构 源码剖析 字节码增强 源码解读 Java’

毕业设计:设计秒杀电商系统

jiaoxn

「架构实战营」

疫情远程办公经验分享| 社区征文

乌龟哥哥

7月月更

浅谈一篇优质的小红书文案需要具备什么

石头IT视角

线程常用的方法

zarmnosaj

7月月更

模块九作业

天琪实刚亮

NFT新的契机,多媒体NFT聚合平台OKALEIDO即将上线

股市老人

【安全攻防】序列化与反序列,你了解多少?

网络安全学海

黑客 网络安全 安全 信息安全 渗透测试

一个漂亮的API文档生成工具

为自己带盐

7月月更

JDBC 进阶

武师叔

7月月更

一入“远程”终不悔,几人欢喜几人愁。| 社区征文

法医

初夏征文

资深开发人员告诉你,怎样编写出优秀的代码?

雨果

程序员 软件 开发者 代码

程序员远程办公喜忧参半| 社区征文

乌龟哥哥

7月月更

毕业总结

michael

架构实战营 #架构实战营 「架构实战营」

毕业总结

天琪实刚亮

简述服务量化分析体系

阿泽🧸

7月月更 量化分析

【愚公系列】2022年7月 Go教学课程 002-Go语言环境安装

愚公搬代码

7月月更

图解网络:什么是热备份路由器协议HSRP?

wljslmz

网络技术 路由协议 7月月更 热备份路由器协议 HSRP

架构实战营 - 第 6 期 模块九之毕业设计

乐邦

「架构实战营」

Java多线程案例之单例模式(懒汉,饿汉,枚举)

未见花闻

7月月更

毕业设计项目

michael

架构实战营 #架构实战营 「架构实战营」

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