阿里云飞天发布时刻,领先大模型限免,超7000万 tokens免费体验 了解详情
写点什么

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

评论

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

如何充分压榨一台EC2

申屠鹏会

主流的第三方直播SDK对比(腾讯云、即构、阿里云、声网、网易云信、网宿)

音视频开发_AIZ

实时音视频 直播技术 SDK测试 音视频开发 直播间

观测云产品更新 | 监控、图表、服务管理、单点登录、Pipeline 等优化

观测云

数据库 pipeline 单点登录

The Foundry Nuke 15 for Mac(电影特效合成软件)

展初云

Mac nuke 特效合成软件

CPU 程序性能优化

MegEngineBot

性能优化 cpu 硬件 编译器

关于圆通物流在AppLink上的操作

RestCloud

APPlink

利用ETLCloud自动化流程实现业务系统数据快速同步至数仓

RestCloud

ETL

学习指南:如何快速上手媒体生态一致体验开发

HarmonyOS开发者

HarmonyOS

aiohttp - Python 异步 HTTP 客户端库入门教程

Liam

Python 编程 程序员 后端 aiohttp

【Spring Cloud 】基于微服务架构的智慧工地云平台源码带APP

源码星辰

智慧工地 智慧工地云平台

编程和数学计算软件MATLAB R2023b for Mac v23.2.0

展初云

matlab Mac软件 MATLAB R2023b

四载磨砺,一群青年“识瘤者”以AI助力医疗创新

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 先锋开发者云上说

InDesign 2024 for mac(页面设计和版面应用程序)

展初云

adobe Mac软件 InDesign 2024 下载 InDesign

数据库大事记

小齐写代码

如何基于亚马逊云科技打造高性能的 SQL 向量数据库 MyScale

亚马逊云科技 (Amazon Web Services)

机器学习 深度学习 存储 Amazon EC2 向量数据库

在小红书认识不到一周,我和TA成为了同事

用友BIP

智能招聘

预发部署时机器总是重启两次的“简单”排查

阿里技术

部署 故障排查 排查 预发 重启

什么是软件定制开发?|app网站小程序定制

Geek_16d138

网站建设 app定制开发 软件定制开发

异构集成:财务共享如何成为数据聚合、分发的控制枢纽

用友BIP

财务共享

OmniGraffle Pro 7 for mac(绘图软件)

展初云

Mac OmniGraffle Pro 专业绘图软件

如何用AB测试完善产品激励体系

字节跳动数据平台

大数据 A/B 测试 对比实验

陈长城:NineData面向Doris实时数仓集成的技术实践

NineData

数据库 实时数仓 Doris 玖章算术 NineData

SCSS 进阶之道:探索更多样式表达的可能性

伤感汤姆布利柏

浅析建筑行业财务管理数智化转型

用友BIP

企业数智化

基于数据中台的过程看板助力光伏单晶行业管理提升

用友BIP

数据中台

利用 Kubernetes 降本增效?EasyMR 基于 Kubernetes 部署的探索实践

袋鼠云数栈

Kubernetes 运维 集群管理

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