Cet article vous présente une introduction aux paramètres par défaut dans ES6 (exemples de code). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.
function [name]([param1[ = defaultValue1 ][, ..., paramN[ = defaultValueN ]]]) { statements }
function sum(a=0, b=0){ return a+b } sum() // 0 sum(1) // 1 sum(1, 2) // 3
Utilisez babel
pour traduire
function sum() { var a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; var b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; return a + b; }
Comme Comme le montre les résultats de la traduction Babel, les paramètres par défaut ne vérifient que deux situations
Aucun paramètre n'est transmis
Passer en non défini
function sum(a=0){ return typeof a } sum() // 'number' sum(undefined)// 'number' sum(1) // 'number' sum('1') // 'string' sum(null) // 'object' sum(false)// 'boolean'
Le paramètre front peut être utilisé comme valeur par défaut du paramètre suivant, et vous pouvez même effectuer des opérations spéciales sur le paramètre précédent , comme l'addition, la soustraction, la multiplication et la division simples.
function sum(a=1, b=a, c=a+b){ return [a, b, c] } sum() // [1, 2, 3] sum(2) // [2, 2, 4] sum(2,2) // [2, 2, 4] sum(2,2,2) // [2, 2, 2]
L'attribution de paramètres par défaut peut même appeler des fonctions. Être capable d'appeler des fonctions montre déjà que tout est. possible~
function sum(a=1, b=(()=>4)()){ return [a, b] } sum() // [1, 4] sum(2) // [2, 4] sum(2,2) // [2, 2]
Remarque : La fonction déclarée à l'intérieur de la fonction ne peut pas être appelée comme valeur par défaut
function sum(a=1, b=num2()){ function num2(){ return 4 } return [a, b] } sum() // Uncaught ReferenceError: num2 is not defined
Les paramètres sont toujours écrasés un par un dans l'ordre dans lequel ils sont transmis lors de l'appel, non Parce qu'il a une valeur par défaut, ignorez l'affectation du paramètre formel
function sum(a=1, b ){ return [a, b] } sum() // [1, undefined] sum(2)// [2, undefined] sum(1,2) //[1, 2]
Les paramètres par défaut peuvent également être utilisés dans la structure, bien que la structure ne soit pas encore apparue dans cette série
function sum([x, y] = [1, 2], {z: z} = {z: 3}) { return [x, y, z]; } sum() // [1, 2, 3] sum([2,4],{z: 6}) // [2, 4, 6]
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!