现代 JavaScript 初学者指南 - 第一部分 目录 📦

2025-06-07

现代 JavaScript 初学者指南 - 第一部分

目录📦

您正在开始编写 JavaScript 代码。您如何知道您编写的 JS 是好是坏?

这是一份 JavaScript 入门迷你指南。

好的,让我们从这份充满技巧和窍门的精彩指南开始吧。获取一些

目录📦

变量

用来let定义可能改变的变量,用来定义const不应该改变的变量。现在你永远不应该使用var

理解 let 和 const

用于let应用程序中某个时刻会发生改变的变量。

用于const永远不会改变的变量。

JavaScript 变量ℹ️

了解旧变量

你不应该再使用var。🙅‍♂️

旧的“var” ℹ️

发现神秘的 NaN

NaN 表示非数字。🤯

这是检查数字是否为 NaN 的最佳方法。

  • (1):尝试将字符串解析55px为数字,但由于无法解析,因此返回NaN,所以resultNaN
  • (3):检查结果是否NaN为真。
  • (4):检查是否'this is false baby!'为,因为不是 ,NaN所以为假StringNaN
  • (5):检查是否NaNNaN,因为是,所以为真NaN

如何对对象进行类型检查

这是检查对象类型的最佳方法。

函数默认参数

这是为您的函数定义默认参数的最佳方法。

  • (1):通过使用name =它,您可以为函数参数定义一个默认参数。
  • (5):覆盖默认参数。
  • (6):使用默认参数。

剩余参数

无论如何定义,都可以使用任意数量的参数来调用函数。

剩余参数和扩展运算符ℹ️

还是不明白?是啊,我当时也是这样。🤷

基本上,这允许你发送任意数量的参数,它们最终会转换成一个数组。让我们看看实际效果⚡

  • 第(1):通过使用...prices它,您可以传递任意数量的属性
  • (7):使用作为参数调用该函数10, 50, 35, 42, 28

但是假设你想要额外的参数......

  • 第(1):通过使用...prices它允许传递任意数量的属性
  • (6):使用作为参数调用该函数'Jhon', 'jhon@example.com', 10, 50, 35, 42, 28

注意:额外的参数首先出现,其他参数随后出现(这些被称为“其余”😜)。

回调函数

好了,孩子们,这很重要。所以,你们最好注意听。

作为参数传递给另一个函数的函数,通常在事件发生时被调用。

简介:回调ℹ️

如您所见,我们定义了一个以名称和函数作为参数的函数。

sayHello输出“Hello, Jhon”,然后调用sayGoodbye输出“Goodbye, Jhon”的函数。注意,sayGoodbye 需要 name 参数。

“this”关键字

好吧,这个问题有点棘手。这是一个相当大的话题,所以……我把你们重定向到我的一篇文章:JavaScript OOP 最大的陷阱😅

对象方法,“this” ℹ️

简写属性

  • (7):使用变量name来分配一个property具有变量值的“名称” name
  • (8):使用变量beer为名为“gas”的气体分配变量key的值gas

如果你不明白,喝点啤酒,过会儿再回来🍻

解构对象属性

希望你仍然清醒🥴

解构赋值是一种特殊的语法,它允许我们将数组或对象“解包”成一堆变量,有时这样更方便。解构也适用于具有大量参数、默认值等的复杂函数。

解构赋值ℹ️

  • (10):定义一个对象,不用担心,它将被用作定义新变量的一种方式,这意味着该对象没有被分配到任何地方。
  • (11)name :从中获取属性robot并定义一个变量name
  • (12)stealing :从中获取属性robotskills并定义一个变量stealing
  • (13):获取其余属性robot并将它们分配给变量rest
  • (14):用于robot定义变量。

值存在性检查

这是检查给定对象上是否存在某个值的最佳方法。

  • (6):检查计算机对象上是否存在一个属性,其值等于127.0.0.1

属性存在性检查

有几种方法可以检查对象上某个属性的存在。

  • (5):当对象有太多键时,性能不佳。
  • (6):即使对象有太多键,也能表现良好。

浅拷贝对象

浅拷贝将复制顶级属性,但嵌套对象在原始(源)和副本(目标)之间共享。

让我们来实验一下:

  • (9):对对象进行浅拷贝robot
  • (19):将robotClone速度更新为800

🐞 WOOT 🐞 我们修改了两个机器人speed,它们robotClone.skills共享robot.skills对对象的引用,因为没有进行单独的复制,而是复制了对对象的引用。对对象任何属性的更改都会影响使用该对象的所有引用。

注意:当您的对象具有嵌套属性时,不要进行浅复制(除非您确实想要这种行为),而是使用深复制

深复制对象

这是进行深度复制的最佳方法。

通过使用深拷贝浅拷贝,你可以注意到对原始对象没有副作用🎉

解构数组

这与解构对象非常相似,但是因为数组没有键而是位置,所以我们需要访问我们想要返回的位置。

  • (1):定义一个多维数组(您也可以使用常规数组,但我想向您展示这个东西的威力💪)。
  • 第(3):我们定义一个变量firstRobotName,其值为robots[0],即['Bender', 'Steal']。然后定义一个变量secondRobotState(注意,我们跳过了机器人名称,而是取其状态'Cool')。最后定义一个变量rest来保存数组的其余部分。

继续学习🤓

最后的想法和下一步

我们已经尝试了一些现代概念,作为初学者您应该理解这些概念,其中一些技巧和窍门是当今完成我们过去使用 JavaScript 传统所做的事情的“最佳方式”。

写这篇文章的过程很愉快,希望你能从中受益匪浅。现在,请收藏它,以便快速查阅日常的 JS 技巧。

我很想听听你还想学习什么其他东西,这样我就可以把它们包含在现代 JavaScript 初学者指南第 2 部分中,其中会充满非常酷的东西。👋

文章来源:https://dev.to/victorhazbun/modern-javascript-beginners-guide-part-1-4c10
PREV
关于时间
NEXT
在 React 中创建延迟承诺钩子