原型链、构造函数、箭头函数、se6数组去重

原型链

例子如下:

var arr = [1, 2, 3];

其原型链为:arr ----> Array.prototype ----> Object.prototype ----> null

同理我们创建一个函数也是:

function foo() {
    return 0;
}

其原型链为:foo ----> Function.prototype ----> Object.prototype ----> null

由于Function.prototype定义了apply()等方法,因此,所有函数都可以调用apply()方法。

很容易想到,如果原型链很长,那么访问一个对象的属性就会因为花更多的时间查找而变得更慢,因此要注意不要把原型链搞得太长。

构造函数

构造函数如果不写new,这就是一个普通函数,它返回undefined。但是,如果写了new,它就变成了一个构造函数,它绑定的this指向新创建的对象,并默认返回this。

也就是说,不需要在最后写return this;

new Student()创建的对象还从原型上获得了一个constructor属性,它指向函数Student本身。

箭头函数

x => x * x

上面的箭头函数相当于:

function (x) {
    return x * x;
}

 se6数组去重

 

function dedupe(array) {
            return Array.from(new Set(array));
        }
        console.log(dedupe([1, 1, 2, 3])) //[1,2,3]

 

Array.form通过字符串创建一个数组

 

你可能感兴趣的:(原型链、构造函数、箭头函数、se6数组去重)