一、条件式访问属性?. 是ES2020引入的新特性,是一个条件式属性访问操作符,当你访问值为undefined 变量的某个属性值时,如果使用.操作符会直接报错,如果使用条件式属性访问操作符来访问会返回undefined 。 看例子: let book = {price:10, edition:10, name:"javascirpt"}console.log(book.page.num) 直接报错: TypeError: Cannot read property 'num' of undefined
因为book.page 的值 undefined , undefined 是没有任何属性值的,所以会报错。 如果你无法确定某个值是undefined 还是对象,除了可以用 if 语句来判断之外,还可以直接用条件式访问操作符来访问某个属性, 就算被访问的对象是undefined ,也不会报错。而是返回 undefined console.log(book.page?.num) 输出: undefined
二、箭头函数介绍箭头函数是ES6 中出现的一种定义函数的简写方法, 用=>分隔参数列表和函数体。 例子: let square = x=>x**2;console.log(square(3)) 输出: 9
这个函数的定义等价于传统函数: function square(x){ return x**2} 箭头函数通常用于把一个未命名函数作为参数传给另一个函数。 let nums = [1,2,3,4].map(x=>x*2)console.log(nums) 输出: [ 2, 4, 6, 8 ]
箭头函数让代码看起来更简洁了。 如果使用传统的function 关键字来定义函数,看起来就显得有点 下载地址: 详解react hooks组件间的传值方式(使用ts) JavaScript基础之this指向 |