笑里藏刀
前端面试就像是一场没有硝烟的战场,不是你干翻面试官,就是你拍屁股走人
知己知彼
面试官问这个问题无非是考察你对计算机编程范式的理解以及是否能够与相关的前端知识相关联
有备无患
声明式编程(Declarative)是一种编程范式,程序员描述他们希望程序做什么(what),而不是明确详细说明程序应该如何做(how)。
也就是说,程序员指定要解决的问题,程序决定如何解决。 这与命令式编程相反,在命令式编程中,程序员准确指定程序应如何执行每个步骤来解决问题。
声明式编程通常使用高级抽象来表达计算(内聚),使程序员更容易推断程序的行为和意图(易测试)。 这可以导致书写的程序更简洁、模块化和可重用的代码,与前端组件化编程理念更贴合,react社区推崇的函数式编程也符合声明式编程思想
简而言之
声明式编程强调描述程序的目标是什么(what)而指令式编程注重程序是怎样(how)一步步解决目标问题的
百战不殆
声明性编程最典型的例子例如: 前端中的正则只描述了解决什么(what)样的问题,例如匹配 s 字母
const reg = /s/
reg.test('s') // true
而声明式强调的是怎么(how)一步步判断一个变量是否是字母s
// 第一步声明变量
const char = ’s‘
// 第二步判断是否是字母 s
if(char === ’s‘) {
return true
}
声东击西
听说点赞这篇文章的人都长命百岁,财富自由了!