PMG1719/Datentypen
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
== Datentypen in JavaScript ==
JavaScript ist eine <u>dynamisch typisierte</u>, objektorientierte, aber klassenlose Skriptsprache.
<u>Dynamische Typisierung</u> bedeutet, dass Typprüfungen (etwa des Datentyps von Variablen) zur Laufzeit eines Programms stattfinden. Eine Festlegung des Datentyps im Programmcode entfällt daher.
Im Gegensatz dazu wird bei der statischen Typisierung (in Pascal) die Typprüfung bereits zum Zeitpunkt der Kompilierung durchgeführt. Daher müssen die Variablen im Programmcode deklariert werden, also einem Datentyp zugewiesen werden. (siehe unten - Pascal).
In JavaScript lässt sich je nach Bedarf objektorientiert, prozedural oder funktional programmieren. Wir werden (wie gewohnt) prozedural programmieren.
[https://de.wikipedia.org/wiki/Skriptsprache Was ist eine Skriptsprache?]
[https://de.wikipedia.org/wiki/JavaScript Grundlegendes zu JavaScript hier] oder [https://www.mediaevent.de/javascript/ hier]; '''''interessant (Browseranwendung - am Besten in Edge oder Opera)''''': [https://jgthms.com/javascript-in-14-minutes/ JS in 14 Minuten]
[https://de.wikipedia.org/wiki/Datentyp Infos zu Datentypen]
[https://www.w3schools.com/jsref/jsref_obj_math.asp JavaScript Dokumentation auf w3schools]
== Datentypen in Pascal ==
Pascal ist eine <u>''streng typisierte''</u> Sprache. Das ist eine Sprache, bei der der Programmierer gezwungen wird, einzelne Datentypen zu deklarieren. Diese Typen dürfen dann nur typgerecht verwendet werden. Es kann also keine Operation zwischen verschiedenen Datentypen durchgeführt werden. Unter Umständen müssen Datentypen untereinander konvertiert werden:
* ''strtofloat'' wandelt Zeichenkette in reelle Zahl um
* ''floattostr'' wandelt relle Zahl in Zeichenkette um
* ''strtoint'' wandelt Zeichenkette in ganze Zahl um
* ''inttostr'' wandelt ganze Zahl in Zeichenkette um
Außerdem gibt es Grenzen wie groß eine Zahl sein darf - diese Grenzen legt auch der verwendete Datentyp fest.
In nachfolgender Tabelle sind einige dieser Datentypen zusammengefasst dargestellt. Jeder Datentyp besitzt einen genauen Wertebereich.
<center>
{| style="text-align:center;border:solid grey 1px" cellpadding=3 cellspacing=0
|- style="background:#CD661D;"
! Typ !! Byte !! Wertebereich !!
|- style="background:#CD661D;"
| ganze Zahlen || || ||
|-
| <span style="color:#CD661D">byte</span> || 1 || 0 bis 255
|-
| <span style="color:#CD661D">word</span> || 2 || 0 bis 65535
|-
| <span style="color:#CD661D">shortint</span> || 1 || -128 bis 127
|-
| <span style="color:#CD661D">integer</span> || 4 || -2147483648 bis 2147483647
|-
| <span style="color:#CD661D">int64</span> || 8 || -2<sup>63</sup> bis 2<sup>63</sup>-1
|- style="background:#CD661D;"
| Fließkommazahlen (reelle Zahlen)|| || ||
|-
| <span style="color:#CD661D">real</span> || 4 || 1.1*10^-38 .. 3.4*10^38
|-
| <span style="color:#CD661D">double</span> || 8 || - 1.79769313486231570 *10<sup>308</sup> bis 1.79769313486231570 *10<sup>308</sup>
|-
| <span style="color:#CD661D">extended</span> || 10 || 3.6*10<sup>-4951</sup> bis 1.1*10<sup>4932</sup>
|- style="background:#CD661D"
| Wahrheitswert || || ||
|-
| <span style="color:#CD661D">boolean</span> || 1 || true, false (wahr, falsch)
|- style="background:#CD661D"
| Zeichenketten || || ||
|-
| <span style="color:#CD661D">char</span> || 2 || Unicode - Zeichen
|-
|<span style="color:#CD661D">string</span> || 1 || Ansi
|}
</center>