javascript tome xxii - L'objet String
Transcription
javascript tome xxii - L'objet String
L’OBJET STRING Pour Débutant J A V A S C R I P T (Programmation Internet) V O L . V I J.B. Dadet DIASOLUKA Luyalu Nzoyifuanga +243 - 851278216 - 899508675 - 991239212 - 902263541 - 813572818 CHAPITRE 12 : L’OBJET STRING : Littéraux de gabarits Depuis ECMAScript 2015, les littéraux de chaînes de caractères sont également appelés des littéraux de gabarits : `En une seule ligne` `En lignes ! découpées !` `Avec ${variable}` escape `<a>${texte}</a>` Échappement des caractères (caractères spéciaux vs caractères classiques) : Code Résultat \0 le caractère NUL \' simple quote \" double quote \\ barre oblique inversée \n nouvelle ligne \r retour chariot \v tabulation verticale J.D.B. DIASOLUKA Nz. Luyalu \t \b \f \uXXXX \xXX JavaScript Tome-VI tabulation retour arrière saut de page (form feed) point de code Unicode caractère Latin-1 Il ne faut pas confondre le caractère NUL (\0) et le type null ou le void ou l’undefined. Littéraux pour les chaînes longues ou Comment « casser » les chaînes longues. Il existe plusieurs possibilités : 1. Les concatener avec des chaînes courtes. let chaîneScindée = "Une longue chaîne " + "scindée en plusieurs " + " courtes chaînes."; 2. Terminer la ligne avec le caractère "\" (barre oblique inversée) sans guillemets [double = double quotes (") ou simple = simple quotes (')] à la fin de la ligne. let chaîneScindée = "Une longue chaîne \ sciendée en plusieurs \ Courtes chaînes."; 3. Littéraux de gabarits : reproduit la ligne telle que saisie. Variables & Functions - 2 / 13 - jeudi, 4. avril 2019 (10:46 ) J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-VI Remarque : Avec « document.write » une suite continue d’espaces multiples est résolu en un seul espace, tandis que « window.alert » et « console.log » respectent (conservent) tous les espaces dans la chaîne. Avec les Littéraux de gabarits (Template literals), « window.alert » et « console.log » respectent (conservent) aussi toute la forme du texte. Avec console.log : <script type="text/javascript"> "use strict"; let chaîneScindée; chaîneScindée = "Une longue chaîne " + "scindée en " + "plusieurs courtes chaînes" + "sur plusieurs lignes."; console.log(chaîneScindée); //Une longue chaîne scindée en plusieurs courtes chaînessur plusieurs lignes. chaîneScindée = "Une longue chaîne ordinaire\ étalée sur plusieurs\ lignes avec respect des espaces."; console.log(chaîneScindée); // Une longue chaîne ordinaire étalée sur plusieurs lignes avec respect des espaces. chaîneScindée = `Une longue chaîne étalée sur plusieurs lignes (${Math.pow(243,1/5)}) respect des espaces.`; console.log(chaîneScindée); // Une longue chaîne // étalée sur plusieurs lignes Variables & Functions - 3 / 13 - jeudi, 4. avril 2019 (10:46 ) J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-VI // (3) respect des espaces. </script> Avec alert : <script type="text/javascript"> "use strict"; let chaîneScindée; chaîneScindée = "Une longue chaîne " + "scindée en " + " plusieurs " + " courtes chaînes.<br>"; window.alert(chaîneScindée); chaîneScindée = "Une longue chaîne \ scindée en plusieurs \ courtes chaînes.<br>"; alert(chaîneScindée); chaîneScindée = `Une longue chaîne scindée en plusieurs courtes chaînes.<br>`; window.alert(chaîneScindée); </script> Une longue chaîne scindée en chaînes.<br> Une longue chaîne sieurs plusieurs courtes scindée en plucourtes chaînes.<br> Une longue chaîne scindée en plusieurs courtes chaînes.<br> Avec document.write : <script type="text/javascript"> "use strict"; let chaîneScindée; chaîneScindée = "Une longue chaîne " + "scindée en " + " plusieurs " + " courtes chaînes.<br>"; document.write(chaîneScindée); /* Une longue chaîne scindée en plusieurs courtes chaînes. */ Variables & Functions - 4 / 13 - jeudi, 4. avril 2019 (10:46 ) J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-VI chaîneScindée = "Une longue chaîne \ scindée en plusieurs \ courtes chaînes.<br>"; document.write(chaîneScindée); /* Une longue chaîne scindée en plusieurs courtes chaînes. */ chaîneScindée = `Une longue chaîne scindée en plusieurs (${Math.pow(27,1/3)}) courtes chaînes.<br>`; document.write(chaîneScindée); /* Une longue chaîne scindée en plusieurs (3) courtes chaînes. */ </script> Un objet String est en fait, à l’instar des Arrays, un objet dont les clés des propriétés sont successivement numérotées de 0 jusqu’à la taille de la chaîne moins 1, chacune ayant comme [[value]], de façon ordonnée un caractère de la chaîne. Il comporte aussi une propriété dont la clé est « length » et qui contient la longueur de (nombre de caractères dans) la chaîne, et un pointeur sur le prototype du constructeur de son parent/constructeur. La méthode « String.valueOf » permet de restituer ce semblant d’rray de propriétés sous forme d’une chaîne primitive. <script type="text/javascript"> "use strict"; const placeholder="PLH="; let sl=new String(`${placeholder}littéral de chaîne`); console.log(Object.getOwnPropertyDescriptors(sl)); console.log(sl.valueOf()); let os=new String("chaîne ordinaire"); console.log(Object.getOwnPropertyDescriptors(os)); console.log(os.valueOf()); let ar=new String("chaîne array"); console.log(Object.getOwnPropertyDescriptors(ar)); Variables & Functions - 5 / 13 - jeudi, 4. avril 2019 (10:46 ) J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-VI console.log(ar.valueOf()); </script> Exécution avec Yandex : Variables & Functions - 6 / 13 - jeudi, 4. avril 2019 (10:46 ) J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-VI Exécution avec Firefox : Variables & Functions - 7 / 13 - jeudi, 4. avril 2019 (10:46 ) J.D.B. DIASOLUKA Nz. Luyalu Variables & Functions - 8 / 13 - JavaScript Tome-VI jeudi, 4. avril 2019 (10:46 ) J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-VI Avec « console.log() » et « alert() », pour renvoyer à la ligne suivante la suite d’une longue chaîne, on utilise l’échappement « \n » : <script type="text/javascript"> "use strict"; alert(`une ligne\ndeuxième ligne`); console.log(`une ligne\ndeuxième ligne`); </script> Variables & Functions - 9 / 13 - jeudi, 4. avril 2019 (10:46 ) J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-VI Avec « document.write() », on utilise la balise ouverte « <br> » ou mieux « <br /> » : <script type="text/javascript"> "use strict"; document.write(`une ligne<br>deuxième ligne`); </script> Kinshasa, le 4 avril 2019 (10:46:23 PM). Mots-clés : OBJET STRING, Template literals, Littéraux de gabarits, Littéraux de chaînes, Littérale de gabarits, Littérale de chaînes, ECMAScript, Échappement des caractères, caractères spéciaux , Variables & Functions - 10 / 13 - jeudi, 4. avril 2019 (10:46 ) J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-VI caractères classiques, caractère NUL, void, chaînes longues, chaînes courtes, double quotes, simple quotes, document.write , console.log, objet String , Arrays, pointeur, valueOf, chaîne primitive, balise ouverte, balise, javascript, ecmascript DIASOLUKA Nz. Luyalu Docteur en Médecine, Chirurgie & Accouchements (1977), CNOM : 0866 - Spécialiste en ophtalmologie (1980) Études humanités : Scientifique - Mathématiques & Physique. Informaticien-amateur, Programmeur et WebMaster. Chercheur indépendant, autonome et autofinancé, bénévole, sans aucun conflit d’intérêt ou liens d'intérêts ou contrainte promotionnelle avec qui qu’il soit ou quelqu’organisme ou institution / organisation que ce soit, étatique, paraétatique ou privé, industriel ou commercial en relation avec le sujet présenté. +243 - 851278216 - 899508675 - 991239212 - 902263541 - 813572818 [email protected] Autre Lecture : https://www.scribd.com/document/374738470/Le-Plus-GrandSecret-de-La-Creation D’autres publications pouvant aussi intéresser : • https://www.scribd.com/document/377036251/Le-Dosage-DesVariables & Functions - 11 / 13 - jeudi, 4. avril 2019 (10:46 ) J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-VI Medicaments-en-Cac-Cas • https://www.scribd.com/document/377035454/Le-Hasard-DesThermometres-Non-contact-a-Infrarouge • https://www.scribd.com/document/376222482/Petite-IntroductionAux-Fonctions-JavaScript • https://www.scribd.com/document/376221919/La-Foi-en-JesusChrist-Pour-Quoi-Faire • https://www.scribd.com/document/375689778/Lacuite-visuelleangulaire • https://www.scribd.com/document/375349851/La-variable-This • https://www.scribd.com/document/375024162/FonctionsImbriquees-en-JS • https://www.scribd.com/document/374789297/Format-InterneDes-Objets-JavaScript • https://www.scribd.com/document/374788758/Iterations-enJavaScript • https://www.scribd.com/document/374738470/Le-Plus-GrandSecret-de-La-Creation • https://www.scribd.com/document/374597969/Nouvelle-Formuled-IMC-indice-de-doduite-Selon-Dr-Diasoluka • https://www.scribd.com/document/373847209/PropertyDescriptors • https://www.scribd.com/document/373833282/l-Objet-GlobalWindow • https://www.scribd.com/document/372665249/Javascript-Tome-II • https://www.scribd.com/document/355291488/motilite-oculaire-2 • https://www.scribd.com/document/355291239/motilite-oculaire-I • https://www.scribd.com/document/355290248/Script-d-AnalysesDes-Reflexes-Pupillomoteurs • https://www.scribd.com/document/321168468/Renseignements-Idet-Anthropometriques • https://www.scribd.com/document/320856721/Emission-31-JulVariables & Functions - 12 / 13 - jeudi, 4. avril 2019 (10:46 ) J.D.B. DIASOLUKA Nz. Luyalu JavaScript Tome-VI 2016 • https://www.scribd.com/document/318182982/ComplicationVisuelle-du-Traitement-de-La-Malaria • https://www.scribd.com/document/318180637/Rapport-EntreOxymetrie-Et-Type-Respiration • https://www.scribd.com/document/315746265/Classification-DesMedicaments • https://www.scribd.com/document/315745909/IncongruencesHeresies-et-Heterodoxies-de-la-Notion-de-Laboratoire • https://www.scribd.com/document/315745725/Rapport-EntreOxymetrie-Et-Type-Respiration Variables & Functions - 13 / 13 - jeudi, 4. avril 2019 (10:46 )