深入浅出ES6的迭代器

迭代器是ES2015中新增的规范,与之相关的for…of也是ES2015新增的。

本文来深入研究一下迭代器是什么,以及迭代器能够干什么?

或许你对for … of的执行还不了解,比如什么情况下可以使用for … of去遍历对象,什么情况下会报错等等,这篇文章应该能帮到你。

深入浅出ES6的标准内置对象Proxy

Proxy是ES6规范定义的标准内置对象,可以对目标对象的读取、函数调用等操作进行拦截。一般来说,通过Proxy可以让目标对象“可控”,比如是否能调用对象的某个方法,能否往对象添加属性等等。

1
2
3
4
5
6
7
8
9
10
11
12
const originalObj = {
name: 'xialei'
};
const publicObj = new Proxy(originalObj, {
set(target, prop, value) {
// 将属性值转化为大写
target[prop] = value.toString().toUpperCase();
}
});

publicObj.name = 'xialei';
console.log(publicObj.name); // XIALEI

ES6的Set类型

本文内容

  • Set的基本使用

ES6的Map类型

本文内容

  • Map的基本使用

深入浅出ES6的Symbol类型

本文内容

  • JS基本数据类型种类
  • Symbol的主要用法, 全局Symbol的使用与检测

不只是块级作用域,你不知道的let和const

ES6新增了两个重要的关键字letconst,相信大家都不陌生,但是包括我在内,在系统学习ES6之前也只使用到了【不存在变量提升】这个特性。

  • let声明一个块级作用域的本地变量

聊一聊valueOf和toString

valueOf和toString是Object.prototype的方法。一般很少直接调用,但是在使用对象参与运算的时候就会调用这两个方法了。我想大部分人都存在以下疑问:

  • valueOf和toString哪个优先级较高?

搞懂JS闭包

闭包(Closure)是JS比较难懂的一个东西,或者说别人说的难以理解, 本文将以简洁的语言+面试题来深入浅出地介绍一下。

作用域和作用域链

在将闭包之前,需要先讲一下作用域。

JS中有全局作用域和局部作用域两种。

Javavscript基础——this指向

本文研究一下Javascript的this指向。

Javascript的this指向问题,有些人可能觉得很简单,有些人却觉得扑朔迷离,看完本文之后相应会对this的掌握有一个直观的判断,而不是”开局全靠猜”。

敲黑板

Javavscript基础——原型和原型链

本文研究一下Javascript的核心基础——原型链和继承。

对于使用过基于类的语言(如Java或C#)的人来说,Javascript的继承有点难以搞懂,因为它本身没有class这种东西。(ES6中引入了class关键字,看上去也像传统的OOP语言,但是那只是语法糖,底层还是基于原型)。

原型链

MDN上对于原型链的解释:

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×