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 相关文章推荐
学习YUI.Ext基础第一天
Mar 10 Javascript
Javascript常用运算符(Operators)-javascript基础教程
Dec 14 Javascript
很好用的js日历算法详细代码
Mar 07 Javascript
JQuery+CSS提示框实现思路及代码(纯手工打造)
May 07 Javascript
JS实现生成会变大变小的圆环实例
Aug 05 Javascript
JS制作图形验证码实现代码
Oct 19 Javascript
JavaScript函数节流和函数防抖之间的区别
Feb 15 Javascript
老生常谈js中的MVC
Jul 25 Javascript
Vue实现textarea固定输入行数与添加下划线样式的思路详解
Jun 28 Javascript
详解用场景去理解函数柯里化(入门篇)
Apr 11 Javascript
JavaScript如何实现元素全排列实例代码
May 14 Javascript
vue把输入框的内容添加到页面的实例讲解
Nov 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
DOTA2 1月28日更新:监管系统降临刀塔世界
2021/01/28 DOTA
php中的MVC模式运用技巧
2007/05/03 PHP
php数组函数序列之array_values() 获取数组元素值的函数与方法
2011/10/30 PHP
php header功能的使用
2013/10/28 PHP
PHP页面中文乱码分析
2013/10/29 PHP
PHP二维数组排序的3种方法和自定义函数分享
2014/04/09 PHP
PHP解码unicode编码的中文字符代码分享
2014/08/13 PHP
微信公众平台DEMO(PHP)
2016/05/04 PHP
PHP正则表达式函数preg_replace用法实例分析
2020/06/04 PHP
Javascript 面向对象 对象(Object)
2010/05/13 Javascript
javascript 运算数的求值顺序
2011/08/23 Javascript
ECMAScript中函数function类型
2015/06/03 Javascript
JS实现保留n位小数的四舍五入问题示例
2016/08/03 Javascript
BootStrap table表格插件自适应固定表头(超好用)
2016/08/24 Javascript
浅谈jQuery双事件多重加载的问题
2016/10/05 Javascript
浅析js的模块化编写 require.js
2016/12/07 Javascript
Javascript面试经典套路reduce函数查重
2017/03/23 Javascript
JS+CSS实现下拉刷新/上拉加载插件
2017/03/31 Javascript
EasyUI中的dataGrid的行内编辑
2017/06/22 Javascript
vue-cli项目中使用Mockjs详解
2018/05/14 Javascript
搭建一个Koa后端项目脚手架的方法步骤
2019/05/30 Javascript
用原生JS实现爱奇艺首页导航栏代码实例
2019/09/19 Javascript
Python中json格式数据的编码与解码方法详解
2016/07/01 Python
Python 多线程的实例详解
2017/09/07 Python
解决Python安装后pip不能用的问题
2018/06/12 Python
TensorFlow打印tensor值的实现方法
2018/07/27 Python
python itsdangerous模块的具体使用方法
2020/02/17 Python
python 使用多线程创建一个Buffer缓存器的实现思路
2020/07/02 Python
python中if嵌套命令实例讲解
2021/02/25 Python
Bulk Powders意大利:运动补充在线商店
2019/02/09 全球购物
ABOUT YOU罗马尼亚:超过600个时尚品牌
2019/09/19 全球购物
学生自我评价范文
2014/02/02 职场文书
营销总经理岗位职责范本
2014/09/02 职场文书
法院干警四风问题自我剖析材料
2014/09/29 职场文书
家装业务员岗位职责
2015/04/03 职场文书
MySQL七大JOIN的具体使用
2022/02/28 MySQL