JavaScript ES6新功能及例子
const和let
const是ES6中用于声明变量的新关键字。const比...更强大var。一旦使用,变量不能被重新分配。换句话说,它是一个不可变的变量。
这对于选择器的定位非常有用。例如,当我们有一个触发事件的按钮,或者当您想要在JavaScript中选择一个HTML元素时,请使用const而不是var。这是因为var'悬挂'。const当不想重新分配变量时,最好使用它。
在上面的代码中,const不会更改,也不会被重新分配。如果你试图给它一个新的值,它会返回一个错误。
let可以被重新分配并获得新的价值。它创建一个可变的变量。
let与const两者都是封闭范围相同。这意味着该变量仅在其范围内可用。
箭头功能
箭头功能非常棒,让你的代码更具可读性,更结构化,看起来像现代代码。而不是使用这个:
用这个:
正如你所看到的,箭头函数似乎更具可读性和干净性!您不再需要使用旧的语法。
此外,您还可以使用箭头函数map,filter以及reduce 内置的功能。
模板文字
模板文字或模板字符串非常酷。我们不必使用plus(+)运算符来连接字符串,或者当我们想要在字符串中使用变量时。
旧的语法:
使用新的ES6语法:
默认参数
所以,当你忘记写参数时,它不会返回一个未定义的错误,因为这个参数已经在默认中定义了。所以当你用缺少的参数运行你的函数时,它将采用默认参数的值t,并且不会返回错误!
看看这个例子:
上面的函数返回undefined,因为我们忘了给它第二个参数age。
但是如果我们使用默认参数,它将不会返回undefined,并且当我们忘记分配参数时它将使用它的值!
正如你所看到的,即使我们错过了第二个参数,函数也会返回一个值。现在使用默认参数,我们可以提前处理错误。
数组和对象
旧的语法:
使用ES6语法:
ES5,我们必须为每个变量分配每个值。有了ES6,我们只需将我们的值放在大括号内即可获得对象的任何属性。
注意: 如果您分配的变量与属性名称不同,它将返回未定义的。例如,如果属性的名称是name,我们将其分配给一个username 变量, 它将返回未定义。
我们总是必须将该变量命名为该属性的名称。但是,如果我们想重命名变量,我们可以使用冒号 :代替。
对于数组,我们使用与对象相同的语法。我们只需用方括号替换大括号。
Import and export
在你的JavaScript应用程序中使用import和 export使它更强大。它们允许您创建单独的可重用组件。
如果您熟悉任何JavaScript MVC框架,您将会看到他们大多数时间使用import和export处理组件。那么他们如何真正的工作?
很简单!export允许您导出要在另一个JavaScript组件中使用的模块。我们使用import导入该模块以在组件中使用它。
例如,我们有两个文件。第一个被命名detailComponent.js ,第二个被命名。 homeComponent.js
在detailComponent.js 我们将要导出的detail功能。
如果我们想使用homeComponent.js中的这个函数, 我们只会使用import。
如果我们想要导入多个模块,我们只需将它们放在大括号内。
Promises
Promises是ES6的一项新功能。这是一种编写异步代码的方法。例如,当我们想从API中获取数据,或者当我们有一个需要时间执行的函数时,可以使用它。
如果我们想要在获取数据后执行一个函数,我们将使用Promise。Promise需要两个参数:resolve并reject处理预期的错误。
注意:获取函数本身返回一个Promise!
const url='https://jsonplaceholder.typicode.com/posts';
const getData=(url)=>{
return fetch(url);
}
getData(url).
then(data=> data.json()).
then(result=> console.log(result));
现在,如果您登录您的控制台,它将返回一组数据。
Rest参数和Spread运算符
rest 参数用于获取数组的参数, 并返回一个新数组。
我们可以使用Spread参数来获取数组的值,而不是使用for循环或任何其他方法。
const arr=['said',20,'JavaScript enthusiast','Hi','Said','How are you?'];
const Func=(...anArray)=>{
return anArray;
}
console.log(Func(arr));
//output ["said", 20, "JavaScript enthusiast", "Hi", "Said", "How are you?"
类
类是面向对象编程(OOP)的核心。
要创建一个类,请使用class关键字后跟带有两个大括号的类名称。
现在我们可以class使用new关键字访问方法和属性。
class myClass{
constructor(name,age){
this.name=name;
this.age=age;
}
}
const Home= new myClass("said",20);
console.log(Home.name)// said
要从另一个类继承,请使用extends关键字,后跟要继承的类的名称