这是我参与【第六届青训营】伴读笔记创作活动的第4天
介绍
- 前端的主要编程语言为JavaScript
- JavaScript作为一种融合了多种编程范式的语言,灵活性非常高。
- 前端开发人员需要根据场景在不同编程范式间自如切换
- 进一步需要创造领域特定语言抽象业务问题
课程收益
- 了解不同编程范式的起源和适用场景。
- 掌握JavaScript在不同的编程范式特别是函数式编程范式的使用。
- 掌握创建领域特定语言的相关工具和模式。
编程语言
了解几种语言的特点
C语言 中级程式语言代表:
- 可对位,字节,地址直接操作
- 代码和数据分离倡导结构化编程
- 功能齐全:数据类型和控制逻辑多样化
C++ 面向对象语言代表:
- 基于c语言基础上增加了对类,继承,权限控制
lisp 虚函数多态代表:
- 与机器无关
- 列表:代码即数据
- 闭包
javaScript 基于原型和头等函数的多范式语言:
- 过程式
- 面向对象
- 函数式
- 响应式
面向对象编程的五大原则
单一职责原则SRP(SingleResponsibilityPrinciple)
开放封闭原则OCP(Open一ClosePrinciple)
里式替换原则LSP《theLiskovSubstitutionPrincipLSP
依赖倒置原则D《P(theDependencylnversionPrincipleDIP)
接口分离原则LSP(thelnterfaceSegregationPrincipleISP
编程范式
什么是编程范式:
程序语言有:是否允许副作用、操作的执行顺序、代码组织、状态管理、语法和词法等程序语言特性,可根据这些对程序语言进行分类
eg:程序编程范式分成命令式(面向过程(操作用过程分组)和面向对象(用对象分组))和声明式(函数式、响应式)两种
Parser语法规则
上下文无关语法规则:
推寻式:表示非终结符到(非终结符或终结符)的关系。
终结符:构成句子的实际内容。可以简单理解为词法分析中的token。
非终结符:符号或变量的有限集合。它们表示在句子中不同类型的短语或子句。