我的编程空间,编程开发者的网络收藏夹
学习永远不晚

JavaScript需要知道的小技巧有哪些

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

JavaScript需要知道的小技巧有哪些

这篇文章主要介绍JavaScript需要知道的小技巧有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

    一、神奇的扩展运算符

    扩展运算符(spread)是三个点( ... ), 可以说我在 JavaScript 中最喜欢的运算符了。我主要在以下 3 种情况下使用:

    1.拷贝数组

    const arr = [1, 2, 3, 4]const newArr = [...arr]console.log(newArr)  // [1, 2, 3, 4]

    2.合并数组

    const numArr = [1, 2, 3, 4]const alphaArr = ['a', 'b', 'c']const newArr = [...numArr, ...alphaArr]console.log(newArr) // [1, 2, 3, 4, 'a', 'b', 'c']

    3.展开对象

    const rectangle = { width: 10, height: 10 }const cube = { ...rectangle, length: 7 }console.log(cube) // {width: 10, height: 10, length: 7}

    二、进行空检查的最佳方法

    你还记得你写的第一个空检查代码吗?当 JavaScript 还没有现在这个完善时,我曾在我的旧代码中这样写:

    if (foo !== null && foo !== undefined) { }

    后来,我的生命被简单的 if 拯救!

    if (foo) {}

    只要条件值 foo 不是下列值,都将为真值“

    • null

    • undefined

    • NaN

    • 空字符串 ("")

    • false

    除了简单的 if 之外,现代 JavaScript 的可选链操作符 ?. 与空值合并运算符 ?? 可以使我们的代码更加简洁

    1.可选链操作符

    可选链操作符是访问嵌套对象属性的安全方式。这意味着在访问一长串对象属性时,我们不必进行多次空检查。当尝试访问可能不存在的对象属性时,可选链操作符将会使表达式更短、更简明

    以下示例检查客户地址的邮政编码是否为 null :

    const client = {  name: 'Liu Xing',  address: {    zipcode: '1234'  }}// 老的取值方式if (client && client.address && client.address.zipcode) {}// 更加现代的可选链操作符方式if (client?.address?.zipcode) {}

    2.空值合并运算符

    空值合并操作符( ?? )是一个逻辑操作符,当左侧的操作数为 null 或者 undefined 时,返回其右侧操作数,否则返回左侧操作数。

    const defaultMessage = 'Hello JavaScript 之禅'const msg = defaultMessage ?? 'Hello Liu Xing';console.log(msg); // Hello JavaScript 之禅'

    如果 defaultMessage 是 null 或者 undefined 则将打印出 Hello Liu Xing

    当我们按顺序使用它时,它会变得更强大:

    console.log(firstName ?? lastName ?? 'anonymous')

    在这个例子中,如果 firstName 不是 null/undefined,它将显示 firstName, 否则,如果 lastName 不是 null/undefined,它将显示 lastName。 最后,如果它们都为 null/undefined,它将显示“anonymous”。

    三、使用 .map()、.reduce() 和 .filter()

    接下来,谈论函数式和反应式编程的强大技术!几年前我第一次使用它时,它真的为我打开了一扇新的大门。 现在每次看到这些简洁的代码,我仍然被它的美丽所震撼。

    今天我举例介绍三个最常用的方法:map、reduce 和 filter。

    在新冠疫情 之前,我们去巴黎度假。于是他们去超市买了些东西。他们买了食物和日用品。但是所有的物品都是欧元,他们想知道每件物品的价格以及他们食物的人民币总成本。

    鉴于 1 欧元等于 7.18 日元。

    以传统方式,我们将使用经典循环来完成:

    const items = [  {    name: 'pineapple',    price: 2,    type: 'food'  },  {    name: 'beef',    price: 20,    type: 'food'  },  {    name: 'advocate',    price: 1,    type: 'food'  },  {    name: 'shampoo',    price: 5,    type: 'other'  }]let sum = 0const itemsInYuan = []for (let i = 0; i < items.length; i++) {  const item = items[i]  item.price *= 7.18  itemsInYuan.push(item)  if (item.type === 'food') {    sum += item.price  }}console.log(itemsInYuan)console.log(sum) // 165.14现在我们来使用现在 JavaScript 提供的函数式编程方法来实现这个计算。const itemsInYuan = items.map(item => {  const itemInYuan = { ...item }  itemInYuan.price *= 7.18  return itemInYuan})const sum = itemsInYuan.filter(item => item.type === 'food').reduce((total, item) => total + item.price, 0)

    上述示例使用 map 方法将欧元转为日元,使用 filter 过滤掉非食品的项目,使用 reduce 来计算价格总和。

    以上是“JavaScript需要知道的小技巧有哪些”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网行业资讯频道!

    免责声明:

    ① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

    ② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

    JavaScript需要知道的小技巧有哪些

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档

    猜你喜欢

    JavaScript需要知道的小技巧有哪些

    这篇文章主要介绍JavaScript需要知道的小技巧有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、神奇的扩展运算符扩展运算符(spread)是三个点( ... ), 可以说我在 JavaScript 中最喜
    2023-06-22

    常用JavaScript小技巧有哪些

    这篇文章主要介绍“常用JavaScript小技巧有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“常用JavaScript小技巧有哪些”文章能帮助大家解决问题。1.通过条件判断向对象添加属性con
    2023-06-30

    编程热搜

    • Python 学习之路 - Python
      一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
      Python 学习之路 - Python
    • chatgpt的中文全称是什么
      chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
      chatgpt的中文全称是什么
    • C/C++中extern函数使用详解
    • C/C++可变参数的使用
      可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
      C/C++可变参数的使用
    • css样式文件该放在哪里
    • php中数组下标必须是连续的吗
    • Python 3 教程
      Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
      Python 3 教程
    • Python pip包管理
      一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
      Python pip包管理
    • ubuntu如何重新编译内核
    • 改善Java代码之慎用java动态编译

    目录