J'ai écrit une fonction qui accepte un objet comme paramètre. Cet objet contient divers paramètres supplémentaires. Cela fonctionne comme beaucoup de fonctions jQuery.Assurer que ma fonction à l'intérieur d'une bibliothèque est appelée avec les paramètres de plage
Quelle est la meilleure façon de s'assurer que l'objet contient les paramètres minimaux requis et comment puis-je attribuer des valeurs par défaut aux paramètres qui ne sont pas requis?
Voici ce que je fais maintenant.
/*
\t var options = {
\t \t ListTitle: "",
\t \t WebPartID: "",
\t \t DisplayField: "Title",
\t \t EnforceUnique: true,
\t \t AllowEmpty: true,
\t \t RequireSelection: true,
\t \t NoSelectionMessage: "Please Select a Value",
\t \t ConnectedWebPartID: ""
\t }
\t */
\t //Set Defaults.
\t dropdownFilterOptions.DisplayField = (typeof dropdownFilterOptions.DisplayField === "undefined" ? "Title" : dropdownFilterOptions.DisplayField);
\t dropdownFilterOptions.EnforceUnique = (typeof dropdownFilterOptions.EnforceUnique === "undefined" ? true : dropdownFilterOptions.EnforceUnique);
\t dropdownFilterOptions.AllowEmpty = (typeof dropdownFilterOptions.AllowEmpty === "undefined" ? true : dropdownFilterOptions.AllowEmpty);
\t dropdownFilterOptions.RequireSelection = (typeof dropdownFilterOptions.RequireSelection === "undefined" ? true : dropdownFilterOptions.RequireSelection);
\t dropdownFilterOptions.NoSelectionMessage = (typeof dropdownFilterOptions.NoSelectionMessage === "undefined" ? "Please select a value." : dropdownFilterOptions.NoSelectionMessage);
\t //Parameter Validation.
\t var parameterValidationSuccess = true;
\t if (typeof dropdownFilterOptions.ConnectedWebPartID === "undefined") {
\t \t throw "ConnectedWebPartID is required!";
\t \t parameterValidationSuccess = false;
\t }
\t if (typeof dropdownFilterOptions.ListTitle === "undefined") {
\t \t throw "ListTitle is required.";
\t \t parameterValidationSuccess = false;
\t }
\t if (typeof dropdownFilterOptions.WebPartID === "undefined") {
\t \t throw "WebPartID is required.";
\t \t parameterValidationSuccess = false;
\t }
\t if (!parameterValidationSuccess) return;
Merci! J'utiliserai objectivement Object.Assign pour assigner des valeurs par défaut, mais je chercherai toujours un meilleur moyen de vérifier les paramètres requis. –