![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ES6
volit_
这个作者很懒,什么都没留下…
展开
-
JavaScript ES6 类
(3)在自定义类型汇总,需要通过Object.defineProperty()方法手工指定某个方法为不可枚举;而在类中,所有方法都是不可枚举的。(1)函数声明可以被提升,而类声明和let类似,不能被提升。真正执行声明语句之前,它们会一直存在临时死区中。(2)类声明中的所有代码将自动运行在严格模式下,且无法强行让代码脱离严格模式执行。原创 2022-10-11 20:30:04 · 119 阅读 · 0 评论 -
JavaScript ES6 Map集合和Set集合
在如上的例子中,将变量key设置为null时便清除了对初始对象的引用,而Set集合却保留了这个引用,所以key变量仍然可以通过Set集合取回原始引用(这在某些场景下会引发内存泄露)。因此,ES6中加入了Weak Set集合,Weak Set只存储对象的弱引用,并且不可以存储原始值;若集合中的弱引用是对象唯一的引用,则会被回收并释放相应的内存。(1)只能添加对象,如果向add()方法中传入非对象参数,会导致程序报错。只要Set中的引用存在,垃圾回收机制就不能释放该对象的内存空间。(3)不暴露任何迭代器。原创 2022-10-11 19:22:10 · 107 阅读 · 0 评论 -
JavaScript ES6 对象
用于比较两个对象是否相等,与===的差异是,+0,-0被认为是两个不同的实体,NaN的值相等。3.symbol键按照它们被加入对象的顺序排序。2.字符串键按被加入对象的顺序排序。1.数字键按升序排序。原创 2022-10-04 22:00:45 · 146 阅读 · 0 评论 -
JavaScript ES6 函数
函数调用会在内存形成一个“调用记录”,又称“调用帧”,保存调用位置和内部变量等信息,所有的调用栈形成一个调用栈。尾调用由于是函数的最后一步操作,所以不需要保留外层函数的调用帧,因为调用位置、内部变量等信息都不需要用到了,直接用内层函数的调用栈取代外层函数即可。ps.只有不再用到外层函数的内部变量,内层函数的调用帧才会取代外层函数的调用帧,否则就无法进行“尾调用优化".//arguments的值不会因为形参命名参数的变化而变化,对于默认参数也是一样的。//若形参未接收到参数,则形参的值为指定的默认参数。原创 2022-10-04 16:52:06 · 513 阅读 · 0 评论 -
JavaScript ES6 块级作用域绑定
通常在拥有块级作用域的语言中,上述代码块只会在当参数condition的值为true时,value变量才会被创建,且只能在if代码块中被访问到。使用let或const的声明的变量会在预编译阶段被加入到临时性死区(TDZ)中,访问临时性死区中的变量会触发引用错误。无论是在函数作用域亦或是全局作用中使用var声明的变量,都会在预编译阶段被提升到当前作用域的顶部。但使用let和const声明变量时,会禁止声明同名变量,抛出变量已定义异常。变量定义默认使用const,只有确实需要改变变量的值时使用let。原创 2022-09-21 17:09:09 · 297 阅读 · 0 评论