简单的程序代码大全 教你编写一个简单的代码

学习语言或框架的核心概念是一个好主意,这样可以高效地编写代码。但是,如果你想快速学习新的东西,你必须阅读冗长的说明,这将非常麻烦。因此,本文将简单解释一些核心概念,帮助你更

本文最后更新时间:  2023-04-20 16:06:03

学习语言或框架的核心概念是一个好主意,这样可以高效地编写代码。但是,如果你想快速学习新的东西,你必须阅读冗长的说明,这将非常麻烦。因此,本文将简单解释一些核心概念,帮助你更容易理解。

这些概念将改变你编码的方式,帮助你写出高质量的代码,成为一个高效的开发者。基于编码领域的流行,作者选择了以下概念。我们一起开始吧!

1。解构主义

从对象中提取属性的方法有几种,解构是其中一种。它有助于清楚地提取对象的属性,从数组中赋值或将对象的属性赋给变量。它优于其他方法,因为它允许在单个语句中提取多个属性,可以从嵌套对象中访问属性,并且可以在属性不存在时为属性赋予默认值。

例如下面的对象。

const profile = { name: "Harry", age: 15, country: "UK"};

通过解构,可以在一条语句中提取该对象的一个或多个属性。

const { name, age } = profile; console.log(name, age);// Harry 15

给属性赋值是解构的另一种用法,不存在的属性会返回指定的默认值。

const { name, age, school = "Hogwarts" } =profile;console.log(school);// Hogwarts

另外数组解构也很流行,可以给变量赋默认值,变量之间交换值等等。在引入ES6之前,没有一次性提取所有数据的机制。所以解构是一个工具概念,可以让代码更纯粹。

2。扩展语法

对可迭代对象(如数组和字符串)使用spread运算符,这有助于将可迭代对象扩展为单个元素。扩展操作符的语法是三个点(…)。

例如,假设一个函数需要三个参数,我们有一个包含三个元素的数组。通过使用spread语法,您可以向该函数传递一个数组,该函数将迭代该数组并将元素分配给该函数的相关参数。

function sum (a, b, c) { return a + b + c;}const numbers = [1, 2, 3];console.log(sum(...numbers));// 6

在ES6中引入spread运算符之前,使用数组向函数传递参数要复杂得多。

spread语法的另一个用途是连接数组。假设有两个数组,如下所示:

const vegetables = ["carrot", "pumpkin"];const fruits = ["apple", "pear"];

在引入spread语法之前,必须使用array.concat方法来组合这些数组。但是,使用spread语法,数组组合变得非常容易。

const newArray = [ ...vegetables, ...fruits ];console.log(newArray);// ["carrot", "pumpkin", "apple","pear"]

此外,还可以使用spread运算符创建具有完全相同内容但引用不同的对象副本。

此外,您可以使用spread运算符创建内容相同但引用不同的对象的副本。

图片:unsplash

3。Rest语法

rest语法的使用规范与spread语法相同。区别在于spread复制所有内容,但是如果您想要检索所有剩余的元素,可以使用rest语法。

const numbers = [1, 3, 2, 6, 8];const [1, 3, ...rest] =numbers;console.log(rest);// [2, 6, 8]

4。数组方法

JavaScript方法为数组中的数据转换提供了一个干净简洁的解决方案。在可用的数组方法中,我将介绍四个最重要的方法,即map、filter、reduce和some。

地图

此方法返回一个数组,数组中的每个元素都根据指定的函数进行转换。例如,如果要将数组中的每个元素乘以2,可以使用map方法在一条语句中完成,无需任何复杂的循环。另外,map方法不改变原始数据。

const array = [1, 2, 3];const mapped = array.map(element => element * 2);console.log(mapped);// [2, 4, 6]· Filter

此方法返回一个元素数组,其中函数返回true。例如,如果需要从数组中检索偶数,可以按如下方式过滤数组。

const numbers = [1, 2, 3, 4, 5, 6];const evenNumbers = numbers.filter(element => element % 2 ===0);console.log(evenNumbers);// [2, 4, 6]· Reduce

此方法根据函数指定的值进行累加。

const arr = [1, 2, 3, 4, 5, 6];const reduced = arr.reduce((total, current) => total +current);console.log(reduced);// 21

这三种方法是数组中强大的数据转换方法,可以得到非常清晰易读的代码。使用这些方法,您可以编写更简单、更短的代码,而不用担心循环或分支。这些数组方法对于JavaScript开发者来说非常重要,可以减少代码,减少人工操作,提高可读性。

一些

如果数组中的某些元素通过了指定函数的测试,则此方法返回true。如果没有元素对应于此函数,此方法将返回false:

const array = [1, 2, 3, 4, 5];const isEven = (element) => element % 2=== 0;console.log(array.some(isEven));// true

与在数组中迭代查找结果的传统方法相反,该方法在查找符合特定条件数组中的元素时非常有用。

与在数组中迭代查找结果的传统方法相反,这种方法在查找数组中满足特定条件的元素时非常有用。

图片:unsplash

5。值和引用变量分配

如何给变量赋值是每个JavaScript开发者都应该知道的最重要的概念。如果您不知道这一点,您可能会将值赋给变量并无意中更改它们,这将导致代码中出现意外错误。

JavaScript总是根据变量的值来分配变量。但赋值主要有两种类型:如果赋值是JavaScript原语类型(boolean、null、undefined、string、number、bigint和symbol),则实际值赋给变量。但是,如果分配的值是数组、函数或对象,则分配内存中对象的引用,而不是实际值。

让我们看下面的例子来加深理解。考虑变量名称1和名称2:

let name1 = "John";let name2 = name1;

变量name2赋给了变量name1,因此,这些变量属于原语类型,所以实际值(“John”)赋给了这两个变量。因此,这两个变量可以看作是两个具有相同值的自变量。因此,重新分配第二个变量不会影响第一个变量。这叫做按值分配变量。

name2 = "Peter";console.log(name1, name2);// "John", "Peter"

另一种方法是通过引用来分配变量。如果变量类型是数组、对象或函数,则在内存中为变量分配一个引用,而不是实际值。看看下面的对象赋值。

let obj1 = { name: "Lucy" }let obj2 = obj1;

通过这种赋值,变量obj2获得与obj1相同的内存引用。因此,改变obj2也会影响obj1,因为它们不再被视为单独的变量。这两个变量在内存中有相同的引用。

obj2.name = "Mary";console.log(obj1);// { name: "Mary" }console.log(obj2);// { name: "Mary" }

如果需要在内存中创建具有不同引用的同一对象的副本,可以使用spread运算符。以这种方式更改新创建的对象不会影响第一个对象,因为它们在内存中有不同的引用。

let object1 = { name: "Lucy" };let object3 = {...object1}object3.name = "Anne";console.log(object1);// { name: "Lucy" }console.log(object3);// { name: "Anne" }

掌握这些概念将有助于您编写更好、更简洁的代码。上面提到的这些核心概念你懂吗?

温馨提示:内容均由网友自行发布提供,仅用于学习交流,如有版权问题,请联系我们。