TypeScript 会取代JavaScript吗?
TypeScript只是带来了类型的思维 因为JavaScript本身长期没有变量、函数参数等类型进行限制 这可能给我们项目带来某种安全的隐患 在之后的JavaScript社区中出现了一系列的类型约束方案 2014年,Facebook推出来flow来对JavaScript进行类型检查
Type源于JavaScript,归于JavaScript
为什么需要JavaScript引擎 高级编程语言都需要转换成最终的机器指令来执行 事实上我们编写的JavaScript无论交给浏览器或者Node执行,最后都是需要被CPU执行的 所以我们需要JavaScript引擎帮助我们将JavaScript代码翻译成CPU指令来执行
浏览器内核和JS引擎的关系
这里我们以WebKit为列,WebKit事实上由两部分组成: WebCore:负责HTML解析、布局、渲染等等相关的工作 JavaScriptCore:解析、执行JavaScript代码
JS的内存管理
JavaScript会在定义变量时为我们分配内存 JS对于基本数据类型内存的分配会在执行时,直接在栈空间进行分配; JS对于复杂数据类型内存的分配会在堆内存中开辟一块空间,并将这块空间的指针返回值变量引用
JS的垃圾回收
因为内存的大小是有限的,所以当内存不再需要的时候,我们需要对其进行释放,以便腾出更多的内存空间
垃圾回收的英文是 Garbage Collection 简称GC 对于那先不再使用的对象,我们都称之为是垃圾,它需要被回收,以释放更多的内存空间 而我们的语言运行环境,比如java的运行环境JVM,JavaScript的运行环境js引擎都会内存垃圾回收器 垃圾回收器我们也简称GC,所以哎很多地方你看到 GC其实指的是垃圾回收器