写作动机
许多学习编程的初学者总会陷入一个怪圈总是以为语法就是一切,所以不停地切换编程语言,学习不同的语法,我曾经也陷入了这样的一个怪圈,现在也留有余痕。乘着青训营的东风和前端语言再学习的机会,我想对我多年来的关于编程语言学习的想法写一篇笔记。
学习路径
- 确定一门需要学习的编程语言JavaScript
- 了解这门编程语言的前世今生
- 学习这门编程语言的基础语法
- 学习这门编程语言的特性知识
- 了解这门编程语言适用于哪个具体领域、有哪些工具和框架
- 深入一个领域,学习具体的工具和框架的用法
- 深入工具和框架的源码,结合设计模式等知识理解源码
编程语言学习
任何编程语言都是建立一个源码文件,然后在源文件中进行代码编写,那么我觉得语言就应该从源代码文件的构成开始学习。
源代码文件构成
- 注释
- 关键字
- 标识符
- 字面值
- 分隔符
// 读取 package.json 文件
const fs = require('fs');
fs.readFile('package.json', 'utf8', (err, data) => { if (err) { console.error('读取文件时出错:', err); return; }
// 解析 JSON 数据
const packageJson = JSON.parse(data);
// 在这里可以访问 package.json 中的数据了
console.log(packageJson.name); // 输出 package.json 中的 name 字段
// 输出 package.json 中的 dependencies 字段
console.log(packageJson.dependencies);
编程语言基本语法的学习
- 编译和运行方式
- 数据类型及对应数据类型变量、常量的定义和声明的方式不同数据类型的变常量、函数、类等
- 运算符及运算元素的类型转换原则
- 三种控制语句的基本形式
- 编程语言存在的语法Bug或者说特性javascipt的变量提升
- 常用本地模块及其用法
编程语言特性的学习
- 面向对象
- 常用本地模块及其用法
- 泛型
- IO流
- 文件系统模块
- 网络控制模块
- 并发控制模块和同步异步模块
- 异常机制
- 包、模块管理方式