" au lieu de "fonction". Le retour implicite, les accolades et le "retour" peuvent être omis. Portée lexicale, hérite de la valeur externe « this ». Non constructible, impossible de créer une instance avec "new". Il n'y a pas d'objet "arguments", vous devez utiliser "..." pour collecter les paramètres. Impossible d'utiliser "yield", pas comme fonction de générateur."/> " au lieu de "fonction". Le retour implicite, les accolades et le "retour" peuvent être omis. Portée lexicale, hérite de la valeur externe « this ». Non constructible, impossible de créer une instance avec "new". Il n'y a pas d'objet "arguments", vous devez utiliser "..." pour collecter les paramètres. Impossible d'utiliser "yield", pas comme fonction de générateur.">

Maison  >  Article  >  interface Web  >  Quelles sont les caractéristiques des fonctions fléchées en js

Quelles sont les caractéristiques des fonctions fléchées en js

下次还敢
下次还敢original
2024-05-06 13:39:19869parcourir

Les fonctionnalités des fonctions fléchées JavaScript incluent : une syntaxe concise, utilisant le symbole "=>" au lieu de "fonction". Le retour implicite, les accolades et le "retour" peuvent être omis. Portée lexicale, hérite de la valeur externe « this ». Non constructible, impossible de créer une instance avec "new". Il n'y a pas d'objet "arguments", vous devez utiliser "..." pour collecter les paramètres. Impossible d'utiliser "yield", pas comme fonction de générateur.

Quelles sont les caractéristiques des fonctions fléchées en js

Caractéristiques des fonctions fléchées JavaScript

La fonction flèche est une nouvelle syntaxe introduite dans ES6, qui est une forme abrégée d'expression de fonction. Par rapport aux fonctions traditionnelles, les fonctions fléchées ont les caractéristiques suivantes :

  • Syntaxe concise : Les fonctions fléchées utilisent un symbole de flèche => au lieu du mot-clé traditionnel function , la syntaxe est plus concise. => 符号来代替传统的 function 关键字,语法更为简洁。
<code class="js">// 传统函数
function add(a, b) {
  return a + b;
}

// 箭头函数
const add = (a, b) => a + b;</code>
  • 隐式返回:如果箭头函数只有一个表达式,则可以省略大括号和 return 关键字。箭头函数将自动返回该表达式。
<code class="js">// 传统函数
function square(x) {
  return x * x;
}

// 箭头函数
const square = x => x * x;</code>
  • 词法作用域:箭头函数继承其外层作用域的 this 值,而不是创建自己的 this 值。这使得箭头函数非常适合处理事件处理程序等场景。
<code class="js">const button = document.getElementById("my-button");

// 传统函数
button.addEventListener("click", function() {
  console.log(this); // 指向 button 元素
});

// 箭头函数
button.addEventListener("click", () => {
  console.log(this); // 指向 button 元素
});</code>
  • 不可构造:箭头函数不能用作构造函数。这意味着不能使用 new 关键字来创建箭头函数的实例。
  • 不能声明 arguments 对象:箭头函数没有自己的 arguments 对象。需要使用剩余运算符 ... 来收集函数参数。
<code class="js">// 传统函数
function sum() {
  console.log(arguments); // 类似数组的对象
}

// 箭头函数
const sum = (...numbers) => {
  console.log(numbers); // 实际数组
};</code>
  • 不能使用 yield:箭头函数不能使用 yield
  • rrreee
🎜🎜Retour implicite : 🎜Si la fonction flèche n'a qu'une seule expression, les accolades et le mot-clé return peuvent être omis. La fonction flèche renverra automatiquement cette expression. 🎜🎜rrreee🎜🎜🎜Portée lexicale : 🎜Les fonctions fléchées héritent de la valeur this de leur portée externe, plutôt que de créer leur propre valeur this. Cela rend les fonctions fléchées idéales pour des scénarios tels que la gestion des gestionnaires d'événements. 🎜🎜rrreee🎜🎜🎜Non constructible : 🎜Les fonctions fléchées ne peuvent pas être utilisées comme constructeurs. Cela signifie que vous ne pouvez pas utiliser le mot-clé new pour créer une instance d'une fonction fléchée. 🎜🎜🎜Impossible de déclarer un objet arguments : 🎜Les fonctions fléchées n'ont pas leurs propres objets arguments. L'opérateur reste ... est requis pour collecter les paramètres de la fonction. 🎜🎜rrreee🎜🎜🎜ne peut pas utiliser le rendement : 🎜Les fonctions fléchées ne peuvent pas utiliser le mot-clé yield et ne peuvent donc pas être utilisées comme fonctions génératrices. 🎜🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn