Maison  >  Article  >  interface Web  >  Introduction aux paramètres par défaut dans ES6 (exemple de code)

Introduction aux paramètres par défaut dans ES6 (exemple de code)

不言
不言avant
2018-11-14 15:34:261690parcourir

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.

Syntaxe

function [name]([param1[ = defaultValue1 ][, ..., paramN[ = defaultValueN ]]]) { 
    statements 
}

Utilisez

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;
}

Détection de valeur

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'

Utiliser avant et après

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]

Appeler des fonctions avec des paramètres par défaut

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

Remplacement dans l'ordre

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]

Déstructuration du paramètre par défaut d'affectation

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer