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 相关文章推荐
可以显示单图片,多图片ajax请求的ThickBox3.1类下载
Dec 23 Javascript
IE8 浏览器Cookie的处理
Jan 31 Javascript
JavaScript操作XML实例代码(获取新闻标题并分页,并分页)
May 25 Javascript
JS的replace方法介绍
Oct 20 Javascript
js创建表单元素并使用submit进行提交
Aug 14 Javascript
Bootstrap每天必学之按钮(一)
Nov 24 Javascript
微信QQ的二维码登录原理js代码解析
Jun 23 Javascript
轻量级JS Cookie插件js-cookie的使用方法
Mar 22 Javascript
vue-lazyload使用总结(推荐)
Nov 01 Javascript
JS重学系列之聊聊new操作符
Mar 04 Javascript
微信小程序 腾讯地图显示偏差问题解决
Jul 27 Javascript
vue之封装多个组件调用同一接口的案例
Aug 11 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
快速配置PHPMyAdmin方法
2008/06/05 PHP
php echo 输出字符串函数详解
2010/05/13 PHP
数据库中排序的对比及使用条件详解
2012/02/23 PHP
php版微信公众平台之微信网页登陆授权示例
2016/09/23 PHP
PHP守护进程化在C和PHP环境下的实现
2017/11/21 PHP
PHP get_html_translation_table()函数用法讲解
2019/02/16 PHP
js动态创建及移除div的方法
2015/06/03 Javascript
JQuery和HTML5 Canvas实现弹幕效果
2017/01/04 Javascript
Vue-component全局注册实例
2018/09/06 Javascript
javascript动态创建对象的属性详解
2018/11/07 Javascript
VUE2.0+ElementUI2.0表格el-table实现表头扩展el-tooltip
2018/11/30 Javascript
Angular8 Http拦截器简单使用教程
2019/08/20 Javascript
如何检测JavaScript中的死循环示例详解
2020/08/30 Javascript
原生js 实现表单验证功能
2021/02/08 Javascript
python中plot实现即时数据动态显示方法
2018/06/22 Python
eclipse创建python项目步骤详解
2019/05/10 Python
wxPython实现带颜色的进度条
2019/11/19 Python
python实现将两个文件夹合并至另一个文件夹(制作数据集)
2020/04/03 Python
h5使用canvas画布实现手势解锁
2019/01/04 HTML / CSS
wordpress添加Html5的表单验证required方法小结
2020/08/18 HTML / CSS
报社实习生自荐信
2014/01/24 职场文书
主持人婚宴答谢词
2014/01/28 职场文书
电厂职工自我鉴定
2014/02/20 职场文书
公司晚会主持词
2014/03/22 职场文书
安全宣传标语口号
2014/06/06 职场文书
群众路线党员个人剖析材料
2014/10/08 职场文书
2014年学生会主席工作总结
2014/11/07 职场文书
2015年万圣节活动总结
2015/03/24 职场文书
2015年上半年信访工作总结
2015/03/30 职场文书
2015年超市工作总结
2015/04/09 职场文书
2015年大学学生会工作总结
2015/05/13 职场文书
2015年普法依法治理工作总结
2015/05/26 职场文书
公司考勤管理制度
2015/08/04 职场文书
2016年中秋节慰问信
2015/12/01 职场文书
2016年乡镇七一建党节活动总结
2016/04/05 职场文书
python多次执行绘制条形图
2022/04/20 Python