JavaScript: typof - behov eller nya funktioner
Det brukade vara data av en viss typ och det fanns intressebearbeta dem för att få resultat. Regeln av "atypiska idéer inom beskrivningsområdet" kom oväntat men naturligt. Preliminär deklaration av en variabel har upphört att vara obligatorisk, och en indikation av dess typ har förlorat all mening alls, åtminstone före den operation där den deltar.
Programmeraren har löst händerna: det är inte nödvändigt att tillkännage något i början. Ofta är det bara vid tidpunkten för användningen att vara säker på vad man ska ta, vad man ska göra och hur. När det gäller typer blev de själva "värderingar", det vill säga de blev data, som också beror på något!
Det är fortfarande eller inte, så vad är det med
En mycket enkel beskrivning av variabeln "aaa" och den tillgängliga algoritmen för dess bearbetning:
var aaa;
om (aaa) {
Res = "Jag är!"; // jag är!
} annars {
Res = "jag nej ..."; // Jag har inte
}
kommer att ge ett uppenbart resultat: "Jag är inte." Här är värdet av JavaScript-funktionen typof = odefinierad. Att bara beskriva en variabel betyder "ingenting alls". Naturligtvis, när aaa = 1, får vi: "JAG ÄR!", Men om aaa = 0 så blir det som i första fallet: "Jag är inte ...". Underbar logik, en annan matematiker, liksom en enkel medborgare, kunde inte ens tro att ett nollvärde har en helt annan betydelse än den riktiga. Endast modern (atypisk) programmering kan ha så djärva idéer!
JavaScript-typen av konstruktion, som det mer intelligenta uttrycket om (aaa) {... x ...} else {... y ...}, har utmärkta konsumentegenskaper och är mycket användarvänlig.
På särdrag av cyrilliska och latinska
En professionell programmerare kommer alltid att föredraEngelska tecken är ryska, mentalt tack vare det stadium av programmeringsutveckling, när cybernetik inte erkändes i vissa öppna utrymmen, men på andra områden gick datorverksamheten säkert uppåt. Programmeringsspråk började föröka sig och utvecklas, baserat på syntaxen av 26 bokstäver i det engelska alfabetet och en uppsättning andra allmänt accepterade symboler.
Det enklaste och mest naturliga var maskinkodenDet var vackert, perfekt, men specifikt för varje arkitektur, och på högnivå språk blev idén om bärbarhet mellan arkitekturer omedelbart relevant. Detta strider i huvudsak mot det aktuella ögonblicket: orsaker till JavaScript-motsvarigheten typeof = undefined | sträng | nummer | boolean | objekt | funktionen var det helt enkelt inte. Alla språk var strikt formella, hade en strikt syntax och tillåter inte osäkerhet.
Typer, variabler och deras användning
Ögonblicket är mycket viktigt. Att skriva och beskriva variabler är den viktigaste komponenten av programmet, programmeraren kan inte skriva en arbetsalgoritm tills han sätter den verkliga mängd data till en strikt formell bild av variabler, arrays, objekt och funktioner.
JavaScript bär i sig alla ackumulerade förI årtionden återspeglar den funktionella kraften alla dess mönster den moderna förståelsen av syntaxen och lämpliga semantiska regler.
Frågan är när ska det göras närDet är exakt nödvändigt att bestämma typtypen, JavaScript-typofunktionen. Faktiskt rena alternativ skriv text lite: tecken, sträng och nummer. Textens roll kan emellertid spela både ett objekt och till och med en matris med array.join () konstruktionen, som ansluter alla dess element till en enda text, det vill säga i en rad.
Banal uttalande: runt omkring är typtext, och typen av javascript-funktion måste utföra den nödvändiga typdefinitionen vid rätt tidpunkt. Detta är sant, men i praktiken visar allting sig annorlunda. JavaScript-typ av objekt kommer att producera samma värde i alla tre fallen:
var aaa = {};
Res = typeof(aaa);
Res + = "/" + typeof fönster.dokument;
Res + = "/" + typeof(dokument.former[0]);
Resultat: objekt / objekt / objekt
Användningen av funktionen kan vara i typof (aaa) formatet och typen av aaa format - detta är inte nödvändigt, men i alla alternativ är svaret givet, men det betyder absolut ingenting!
Osäkerhet går i säkerhet
Programmering har en egen dynamik: det flyger så snabbt framåt att rörelsens skala ökar kontinuerligt. Räkningen går vidare i månader, veckor eller dagar, och ibland även i timmar. I specifika uppgifter är dynamiken i bildandet av en lösningsalgoritm så snabb och kräver kontinuitet att en programmerares utgång från en arbetsstat kan kasta av en lösning för en dag, en vecka och en längre period.
En naturlig typ av javascript-lösning och övningObjektorienterad programmering, som i denna syntax skiljer sig något från det som råder i de intilliggande moderna språken, överför tyngdpunkten till objektet. En mycket karakteristisk punkt: Språket blir en konstruktion som innehåller semantik snarare än en uppsättning synaktiska normer.
Enkla datatyper behöver inte definieras.dess typ, eller snarare är användningen av typof javascript tillräckligt. Om det är nödvändigt tar genomförandemiljön i sig de lämpliga omvandlingar, men med avseende på JavaScript-objekt ger typof det mest rimliga svaret: Det här objektet och dess problem är dess oro! Sådan logik för den klassiska ideen om programmering är svår att förstå, men det här är den riktiga positionen för rätt saker.
Objektvård - definiera din typ, manifestdina egenskaper och utföra dina metoder. Programmeringen polerade sin syntax och överför tyngdpunkten från syntax till semantiken som programmeraren skapat: systemet för dess objekt som utför lösningen av den uppsatta uppgiften.