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 相关文章推荐
js解析与序列化json数据(一)json.stringify()的基本用法
Feb 01 Javascript
jQuery实现图片信息的浮动显示实例代码
Aug 28 Javascript
javascript和jquery实现设置和移除文本框默认值效果代码
Jan 13 Javascript
移动设备web开发首选框架:zeptojs介绍
Jan 29 Javascript
JavaScript中的Function函数
Aug 27 Javascript
BootStrap的table表头固定tbody滚动的实例代码
Aug 24 Javascript
bootstrap组件之导航组件使用方法
Jan 19 Javascript
jQuery正则验证注册页面经典实例
Jun 10 jQuery
从零开始最小实现react服务器渲染详解
Jan 26 Javascript
vue单页面实现当前页面刷新或跳转时提示保存
Nov 02 Javascript
Vue中用props给data赋初始值遇到的问题解决
Nov 27 Javascript
JavaScript的级联函数用法简单示例【链式调用】
Mar 26 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四大安全策略
2014/03/12 PHP
PHP实现接收二进制流转换成图片的方法
2017/01/10 PHP
网页中实现浏览器的最大,最小化和关闭按钮
2007/03/12 Javascript
js模拟弹出效果代码修正版
2008/08/07 Javascript
JS中不为人知的五种声明Number的方式简要概述
2013/02/22 Javascript
js切换光标示例代码
2013/10/10 Javascript
使用jquery写个更改表格行顺序的小功能
2014/04/29 Javascript
Jquery实现纵向横向菜单
2016/01/24 Javascript
jQuery实现的浮动层div浏览器居中显示效果
2017/02/03 Javascript
基于javascript的异步编程实例详解
2017/04/10 Javascript
详解vue 配合vue-resource调用接口获取数据
2017/06/22 Javascript
微信小程序开发animation心跳动画效果
2017/08/16 Javascript
ES6中的迭代器、Generator函数及Generator函数的异步操作方法
2019/05/12 Javascript
vue-form表单验证是否为空值的实例详解
2019/10/29 Javascript
javascript实现倒计时关闭广告
2021/02/09 Javascript
Python记录详细调用堆栈日志的方法
2015/05/05 Python
Python 提取dict转换为xml/json/table并输出的实现代码
2016/08/28 Python
Python使用re模块正则提取字符串中括号内的内容示例
2018/06/01 Python
使用python将大量数据导出到Excel中的小技巧分享
2018/06/14 Python
python利用插值法对折线进行平滑曲线处理
2018/12/25 Python
python实现狄克斯特拉算法
2019/01/17 Python
Pycharm使用之设置代码字体大小和颜色主题的教程
2019/07/12 Python
Python实现网页截图(PyQT5)过程解析
2019/08/12 Python
django项目登录中使用图片验证码的实现方法
2019/08/15 Python
pygame库实现俄罗斯方块小游戏
2019/10/29 Python
python实现图片上添加图片
2019/11/26 Python
Free People中国官网:波西米亚风格女装服饰
2016/08/30 全球购物
Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
2015/01/27 面试题
内业资料员岗位职责
2014/01/04 职场文书
企业职业病防治方案
2014/05/29 职场文书
质量提升方案
2014/06/16 职场文书
家长会标语
2014/06/24 职场文书
党员检讨书范文
2014/12/27 职场文书
装修公司工程部经理岗位职责
2015/04/09 职场文书
pandas中DataFrame检测重复值的实现
2021/05/26 Python
了解Redis常见应用场景
2021/06/23 Redis