javaScripte
export和import
javascript中import和export详解
JS之export
JS中export怎么用?
export导出分为两种导出
命名导出(每个模块包含任意数量)
默认导出(每个模块包含一个)
var、let、const
[JavaScript中var、let、const区别?](JavaScript中var、let、const区别? - 归子莫的回答 - 知乎
https://www.zhihu.com/question/52662013/answer/3127709545)
let和const是ES6中引入的,是为了解决var的问题。var有变量提升、可重复声明、无块级作用域和容易导致全局作用域的问题。
js的单线程和异步个概念
自己的瞎理解:javaScript从语法层面设计成了单线程的,也就是说程序员没办法new一个线程去做事情,但是jS的运行环境是在多线程环境下,js可以让异步任务在js的运行环境中的多线程中执行,执行结果在主线程中执行。
其实,js单线程的本质是,只能在主线程中操作DOM也就是UI,但其实运行环境还是有多线程的。这个从概念上和Android的UI线程是一个意思。从这个角度说,Android也是单线程的。Android需要new线程去执行异步任务,难道JS写一个回调函数,默认就是异步执行了???
简述JS单线程异步实现原理(面试)
JavaScript 运行机制详解:再谈Event Loop
JavaScript 异步操作之 Promise
TypeScripte
一文读懂TS的(.d.ts)文件
什么是.d.ts文件,以及为什么需要它
static和readOnly
TypeScript - 只读属性 ReadOnly
TypeScript stati静态
readOnly是TS中的关键字,不是JS的。这个是在class中使用的,类型java的final关键字
static也是TS的关键字,只能修饰类的变量或方法,不能修饰类
readOnly和const的区别,const是不能修饰类变量的
函数
在ES6以前,函数声明只能出现在JavaScript文件或其他函数的顶部。虽然有些实现弱化了这个限制,但严格来讲在循环体、条件或其他语句块中定义函数都不合法。不过在ES6的严格模式下,函数声明可以出现在语句块中。不过,在语句块中定义的函数只在该块中有定义,对块的外部不可见。
**函数声明实际上会声明一个变量,然后把函数对象赋值给它。而函数表达式不会声明变量,至于要把新定义的函数赋值给一个常量还是变量都取决于你,这样方便以后多次引用。**最佳实践是使用const把函数表达式赋值给常量,以防止意外又给它赋予新值而重写函数。
使用函数声明定义函数f()与创建一个函数表达式再将其赋值给
变量f有一个重要的区别。在使用声明形式时,先创建好函数对象,
然后再运行包含它们的代码,而且函数的定义会被提升到顶部,因
此在定义函数的语句之前就可以调用它们。但对于定义为表达式的
函数就不一样了,这些函数在定义它们的表达式实际被求值以前是
不存在的。不仅如此,要调用函数要求必须可以引用函数,在把函
数表达式赋值给变量之前是无法引用函数的,因此定义为表达式的
函数不能在它们的定义之前调用。
TypeScript 中冒号: ?: 的用法
?: 在类中定义属性的时候也可以用,相当于初始化为undifine。在TS中类属性一定要初始化或在构成函数中赋值,在java中不用