【前端入门】JavaScript 箭头函数和包装对象知识分享~

142 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第1天,点击查看活动详情

分享我的前端学习知识之路~

  • JavaScript 箭头函数
  • JavaScript 标准对象、包装对象

箭头函数是哪些?

箭头函数相当于匿名函数,并且简化了函数定义。

箭头函数有两种格式,一种像上面的,只包含一个表达式,连{ ... }return都省略掉了。还有一种可以包含多条语句,这时候就不能省略{ ... }return

x => {
    if (x > 0) {
        return x * x;
    }
    else {
        return - x * x;
    }
}

如果参数不是一个,就需要用括号()括起来:

// 两个参数:
(x, y) => x * x + y * y

// 无参数:
() => 3.14

// 可变参数:
(x, y, ...rest) => {
    var i, sum = x + y;
    for (i=0; i<rest.length; i++) {
        sum += rest[i];
    }
    return sum;
}

如果要返回一个对象,就要注意,如果是单表达式,这么写的话会报错:

// SyntaxError:
x => { foo: x }

因为和函数体的{ ... }有语法冲突,所以要改为:

// ok:
x => ({ foo: x })

箭头函数看上去是匿名函数的一种简写,但实际上,箭头函数和匿名函数有个明显的区别:箭头函数内部的this是词法作用域,由上下文确定

包装对象是什么?

对象是 JavaScript 语言最主要的数据类型,三种原始类型的值——数值、字符串、布尔值——在一定条件下,也会自动转为对象,也就是原始类型的“包装对象”(wrapper)。

包装对象的设计目的,首先是使得“对象”这种类型可以覆盖所有的值,整门语言有一个通用的数据模型,其次是使得原始类型的值也有办法调用自己的方法。

在JavaScript中,字符串也区分string类型和它的包装类型。包装对象用new创建:

NumberStringBoolean这三个原生对象,如果调用时不加new,而是作为普通函数调用,常常用于将任意类型的值转为数值、字符串和布尔值。

var n = new Number(123); // 123,生成了新的包装类型
var b = new Boolean(true); // true,生成了新的包装类型
var s = new String('str'); // 'str',生成了新的包装类型

今天两部分的理论知识整理和分享到这里,明天我们再来分享实际例子和题目吧~

最后

以上习题&笔记从大佬们的论坛学习而来,特感谢大佬们的知识分享~ (学习技术知识,果然要看大佬们的技术博客,大家有好的推荐也欢迎指引我这个小白哈,感恩!)

附上学习链接,感谢这些大佬出题和解答:

www.liaoxuefeng.com/wiki/102291…

wangdoc.com/javascript/…