javascript条件式访问属性和箭头函数介绍


Posted in Javascript onNovember 17, 2021

一、条件式访问属性

?. 是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 的值 undefinedundefined是没有任何属性值的,所以会报错。

如果你无法确定某个值是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关键字来定义函数,看起来就显得有点???/p>

nums = [1,2,3,4].map(function(x){return x*2})

console.log(nums)

箭头函数如果有多个参数,则需要使用括号括起来

const add = (x,y)=>x+y;

console.log(add(1,2))

如果箭头函数的函数体有多条语句,则要将函数体用大括号括起来,并用return关键字返回值

const add = (x,y)=>{let tmp=x+y;return tmp};

console.log(add(1,2))

这时候箭头函数的函数体和普通的function定义的函数体格式就完全一样了。所以箭头函数在简单的单行语句中才显得简洁,并具有可读性。一旦函数体过于复杂,再用箭头函数来定义可读性就没那么好了。

到此这篇关于javascript条件式访问属性和箭头函数介绍的文章就介绍到这了,更多相关javascript条件式访问属性和箭头函数内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
如何在Web页面上直接打开、编辑、创建Office文档
Mar 12 Javascript
js中typeof的用法汇总
Dec 12 Javascript
JS的get和set使用示例
Feb 20 Javascript
原生js仿jq判断当前浏览器是否为ie,精确到ie6~8
Aug 30 Javascript
jQuery搜索子元素的方法
Feb 10 Javascript
JS模拟并美化的表单控件完整实例
Aug 19 Javascript
JS实现的论坛Ajax打分效果完整实例
Oct 31 Javascript
JS实现表单验证功能(验证手机号是否存在,验证码倒计时)
Oct 11 Javascript
bootstrapValidator表单验证插件学习
Dec 30 Javascript
JavaScript实现换肤功能
Sep 15 Javascript
如何以Angular的姿势打开Font-Awesome详解
Apr 22 Javascript
node 命令方式启动修改端口的方法
May 12 Javascript
JavaScript 对象创建的3种方法
Nov 17 #Javascript
JavaScript 中for/of,for/in 的详细介绍
Nov 17 #Javascript
JavaScript高级程序设计之基本引用类型
Nov 17 #Javascript
JavaScript高级程序设计之变量与作用域
javascript对象3个属性特征
详细聊聊浏览器是如何看闭包的
Vue3中的Refs和Ref详情
Nov 11 #Vue.js
You might like
PHP 将图片按创建时间进行分类存储的实现代码
2010/01/05 PHP
PHP两种快速排序算法实例
2015/02/15 PHP
PHP基本语法实例总结
2016/09/09 PHP
laravel配置Redis多个库的实现方法
2019/04/10 PHP
PHP大文件分割分片上传实现代码
2020/12/09 PHP
JavaScript用JQuery呼叫Server端方法示例代码
2014/09/03 Javascript
jQuery实现图片加载完成后改变图片大小的方法
2016/03/29 Javascript
详解Bootstrap插件
2016/04/25 Javascript
js基础之DOM中document对象的常用属性方法详解
2016/10/28 Javascript
angularJS深拷贝详解
2017/03/23 Javascript
详解VUE项目中安装和使用vant组件
2019/04/28 Javascript
简单使用webpack打包文件的实现
2019/10/29 Javascript
js原生map实现的方法总结
2020/01/19 Javascript
js实现贪吃蛇游戏 canvas绘制地图
2020/09/09 Javascript
[02:43]DOTA2英雄基础教程 圣堂刺客
2013/12/09 DOTA
python的三目运算符和not in运算符使用示例
2014/03/03 Python
python中stdout输出不缓存的设置方法
2014/05/29 Python
python3+PyQt5使用数据库窗口视图
2018/04/24 Python
python3模块smtplib实现发送邮件功能
2018/05/22 Python
Appium+Python自动化测试之运行App程序示例
2019/01/23 Python
python3实现zabbix告警推送钉钉的示例
2019/02/20 Python
python 整数越界问题详解
2019/06/27 Python
解决python3 安装不了PIL的问题
2019/08/16 Python
对Pytorch中nn.ModuleList 和 nn.Sequential详解
2019/08/18 Python
美国购买汽车零件网站:Buy Auto Parts
2018/04/02 全球购物
wedgwood加拿大官网:1759年成立的英国国宝级陶瓷餐具品牌
2018/07/17 全球购物
英国手机零售商:Metrofone
2019/03/18 全球购物
Linux操作面试题
2012/05/16 面试题
介绍一下linux的文件权限
2014/07/20 面试题
Delphi软件工程师试题
2013/01/29 面试题
大学生求职简历的自我评价
2013/10/14 职场文书
即兴演讲稿
2014/01/04 职场文书
初中班主任评语
2014/04/24 职场文书
教师自荐信范文
2015/03/06 职场文书
廉洁自律承诺书范文
2015/04/28 职场文书
Lombok的详细使用及优缺点总结
2021/07/15 Java/Android