Skip to content

Commit 73174eb

Browse files
authored
Merge pull request #12 from christianhegedues/de/05-types
translation(de): 05-types
2 parents 2817baa + 377559f commit 73174eb

File tree

3 files changed

+113
-113
lines changed

3 files changed

+113
-113
lines changed
Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11

2-
Backticks embed the expression inside `${...}` into the string.
2+
Backticks binden den Ausdruck innerhalb von `${...}` in den String ein.
33

44
```js run
55
let name = "Ilya";
66

7-
// the expression is a number 1
8-
alert( `hello ${1}` ); // hello 1
7+
// Der Ausdruck ist eine Zahl 1
8+
alert( `Hallo ${1}` ); // Hallo 1
99

10-
// the expression is a string "name"
11-
alert( `hello ${"name"}` ); // hello name
10+
// Der Ausdruck ist ein String "name"
11+
alert( `Hallo ${"name"}` ); // Hallo name
1212

13-
// the expression is a variable, embed it
14-
alert( `hello ${name}` ); // hello Ilya
13+
// Der Ausdruck bindet eine Variable ein
14+
alert( `Hallo ${name}` ); // Hallo Ilya
1515
```

1-js/02-first-steps/05-types/1-string-quotes/task.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,16 @@ importance: 5
22

33
---
44

5-
# String quotes
5+
# String Anführungszeichen
66

7-
What is the output of the script?
7+
Was ist die Ausgabe des Skripts?
88

99
```js
1010
let name = "Ilya";
1111

12-
alert( `hello ${1}` ); // ?
12+
alert( `Hallo ${1}` ); // ?
1313

14-
alert( `hello ${"name"}` ); // ?
14+
alert( `Hallo ${"name"}` ); // ?
1515

16-
alert( `hello ${name}` ); // ?
16+
alert( `Hallo ${name}` ); // ?
1717
```
Lines changed: 101 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
# Data types
1+
# Datentypen
22

3-
A variable in JavaScript can contain any data. A variable can at one moment be a string and at another be a number:
3+
Eine Variable in JavaScript kann beliebige Daten enthalten. Eine Variable kann in einem Moment eine Zeichenkette und in einem anderen eine Zahl sein:
44

55
```js
6-
// no error
7-
let message = "hello";
6+
// kein Fehler
7+
let message = "Hallo";
88
message = 123456;
99
```
1010

11-
Programming languages that allow such things are called "dynamically typed", meaning that there are data types, but variables are not bound to any of them.
11+
Programmiersprachen, die solche Dinge erlauben, werden als "dynamisch typisiert" bezeichnet, was bedeutet, dass es Datentypen gibt, aber Variablen an keine von ihnen gebunden sind.
1212

13-
There are eight basic data types in JavaScript. Here, we'll cover them in general and in the next chapters we'll talk about each of them in detail.
13+
Es gibt acht grundlegende Datentypen in JavaScript. Hier werden wir sie allgemein behandeln und in den nächsten Kapiteln detailliert auf sie eingehen.
1414

1515
## Number
1616

@@ -19,167 +19,167 @@ let n = 123;
1919
n = 12.345;
2020
```
2121

22-
The *number* type represents both integer and floating point numbers.
22+
Der Typ *number* repräsentiert sowohl Ganzzahl, als auch Gleitkommazahlen.
2323

24-
There are many operations for numbers, e.g. multiplication `*`, division `/`, addition `+`, subtraction `-`, and so on.
24+
Es gibt viele Operationen für Zahlen, z.B. Multiplikation `*`, Division `/`, Addition `+`, Subtraktion `-` und so weiter.
2525

26-
Besides regular numbers, there are so-called "special numeric values" which also belong to this data type: `Infinity`, `-Infinity` and `NaN`.
26+
Neben regulären Zahlen gibt es sogenannte "numerische Sonderwerte", die ebenfalls zu diesem Datentyp gehören: `Infinity`, `-Infinity` und `NaN`.
2727

28-
- `Infinity` represents the mathematical [Infinity](https://en.wikipedia.org/wiki/Infinity) ∞. It is a special value that's greater than any number.
28+
- `Infinity` repräsentiert die mathematische [Unendlichkeit](https://de.wikipedia.org/wiki/Unendlichkeit) ∞. Es ist ein spezieller Wert, der größer als jede Zahl ist.
2929

30-
We can get it as a result of division by zero:
30+
Wir können es als Ergebnis der Division durch Null erhalten:
3131

3232
```js run
3333
alert( 1 / 0 ); // Infinity
3434
```
3535

36-
Or just reference it directly:
36+
Oder verweise einfach direkt darauf:
3737

3838
```js run
3939
alert( Infinity ); // Infinity
4040
```
41-
- `NaN` represents a computational error. It is a result of an incorrect or an undefined mathematical operation, for instance:
41+
- `NaN` repräsentiert einen Rechenfehler. Es ist das Ergebnis einer falschen oder undefinierten mathematischen Operation, zum Beispiel:
4242

4343
```js run
44-
alert( "not a number" / 2 ); // NaN, such division is erroneous
44+
alert( "keine Zahl" / 2 ); // NaN, eine solche Teilung ist falsch
4545
```
4646

47-
`NaN` is sticky. Any further operation on `NaN` returns `NaN`:
47+
`NaN` ist starr. Jede weitere Operation an `NaN` gibt` NaN` zurück:
4848

4949
```js run
50-
alert( "not a number" / 2 + 5 ); // NaN
50+
alert( "keine Zahl" / 2 + 5 ); // NaN
5151
```
5252

53-
So, if there's a `NaN` somewhere in a mathematical expression, it propagates to the whole result.
53+
Wenn sich also irgendwo in einem mathematischen Ausdruck ein `NaN` befindet, wird es zum gesamten Ergebnis weitergegeben.
5454

55-
```smart header="Mathematical operations are safe"
56-
Doing maths is "safe" in JavaScript. We can do anything: divide by zero, treat non-numeric strings as numbers, etc.
55+
```smart header="Mathematische Operationen sind sicher"
56+
Mathematik ist in JavaScript "sicher". Wir können alles tun: durch Null dividieren, nicht numerische Zeichenfolgen als Zahlen behandeln usw.
5757
58-
The script will never stop with a fatal error ("die"). At worst, we'll get `NaN` as the result.
58+
Das Skript wird niemals mit einem schwerwiegenden Fehler ("Programmabbruch") beendet. Im schlimmsten Fall erhalten wir als Ergebnis `NaN`.
5959
```
6060

61-
Special numeric values formally belong to the "number" type. Of course they are not numbers in the common sense of this word.
61+
Spezielle numerische Werte gehören formal zum Typ "number". Natürlich sind sie keine Zahlen im üblichen Sinne.
6262

63-
We'll see more about working with numbers in the chapter <info:number>.
63+
Mehr über das Arbeiten mit Zahlen erfahren wir in diesem Kapitel <info:number>.
6464

6565
## BigInt
6666

67-
In JavaScript, the "number" type cannot represent integer values larger than <code>2<sup>53</sup></code> (or less than <code>-2<sup>53</sup></code> for negatives), that's a technical limitation caused by their internal representation. That's about 16 decimal digits, so for most purposes the limitation isn't a problem, but sometimes we need really big numbers, e.g. for cryptography or microsecond-precision timestamps.
67+
In JavaScript kann der Typ "number" keine Ganzzahlwerte darstellen, die größer als <code>2<sup>53</sup></code> (oder kleiner als <code>-2<sup>53</sup></code> für Negative), sind. Das ist eine technische Einschränkung, die durch ihre interne Darstellung verursacht wird. Das sind ungefähr 16 Dezimalstellen, daher ist die Beschränkung für die meisten Zwecke kein Problem, aber manchmal benötigen wir wirklich große Zahlen, z.B. für Verschlüsselungen oder Zeitstempel mit Mikrosekundengenauigkeit.
6868

69-
`BigInt` type was recently added to the language to represent integers of arbitrary length.
69+
Der Typ `BigInt` wurde kürzlich der Sprache hinzugefügt, um Ganzzahlen beliebiger Länge darzustellen.
7070

71-
A `BigInt` is created by appending `n` to the end of an integer literal:
71+
Ein `BigInt` wird durch Anhängen von `n` an das Ende einer Ganzzahl erstellt:
7272

7373
```js
74-
// the "n" at the end means it's a BigInt
74+
// Das "n" am Ende bedeutet, dass es ein BigInt ist
7575
const bigInt = 1234567890123456789012345678901234567890n;
7676
```
7777

78-
As `BigInt` numbers are rarely needed, we devoted them a separate chapter <info:bigint>.
78+
Da `BigInt`-Zahlen selten benötigt werden, haben wir ihnen ein eigenes Kapitel gewidmet <info:bigint>.
7979

80-
```smart header="Compatability issues"
81-
Right now `BigInt` is supported in Firefox and Chrome, but not in Safari/IE/Edge.
80+
```smart header="Kompatibilitätsprobleme"
81+
Derzeit wird `BigInt` in Firefox und Chrome unterstützt, nicht jedoch in Safari/IE/Edge.
8282
```
8383

8484
## String
8585

86-
A string in JavaScript must be surrounded by quotes.
86+
Ein String in JavaScript muss in Anführungszeichen gesetzt werden.
8787

8888
```js
89-
let str = "Hello";
90-
let str2 = 'Single quotes are ok too';
91-
let phrase = `can embed another ${str}`;
89+
let str = "Hallo";
90+
let str2 = 'Einfache Anführungszeichen sind auch in Ordnung';
91+
let phrase = `kann einen anderen ${str} einbetten`;
9292
```
9393

94-
In JavaScript, there are 3 types of quotes.
94+
In JavaScript gibt es drei Arten von Anführungszeichen.
9595

96-
1. Double quotes: `"Hello"`.
97-
2. Single quotes: `'Hello'`.
98-
3. Backticks: <code>&#96;Hello&#96;</code>.
96+
1. Doppelte Anführungszeichen: `"Hallo"`.
97+
2. Einfache Anführungszeichen: `'Hallo'`.
98+
3. Backticks: <code>&#96;Hallo&#96;</code>.
9999

100-
Double and single quotes are "simple" quotes. There's practically no difference between them in JavaScript.
100+
Doppelte und einfache Anführungszeichen sind "simple" Anführungszeichen. In JavaScript gibt es praktisch keinen Unterschied zwischen ihnen.
101101

102-
Backticks are "extended functionality" quotes. They allow us to embed variables and expressions into a string by wrapping them in `${…}`, for example:
102+
Backticks sind Anführungszeichen mit "erweiterter Funktionalität". Sie ermöglichen es uns, Variablen und Ausdrücke in einen String einzubetten, indem wir sie in `${}` einschließen, zum Beispiel:
103103

104104
```js run
105105
let name = "John";
106106
107-
// embed a variable
108-
alert( `Hello, *!*${name}*/!*!` ); // Hello, John!
107+
// Einbetten einer Variable
108+
alert( `Hallo, *!*${name}*/!*!` ); // Hallo, John!
109109

110-
// embed an expression
111-
alert( `the result is *!*${1 + 2}*/!*` ); // the result is 3
110+
// Einbetten eines Ausdrucks
111+
alert( `Das Ergebnis ist *!*${1 + 2}*/!*` ); // Das Ergebnis ist 3
112112
```
113113

114-
The expression inside `${…}` is evaluated and the result becomes a part of the string. We can put anything in there: a variable like `name` or an arithmetical expression like `1 + 2` or something more complex.
114+
Der Ausdruck in `${…}` wird ausgewertet und das Ergebnis wird Teil des Strings. Wir können alles hineinstecken: eine Variable wie `name` oder einen arithmetischen Ausdruck wie `1 + 2` oder etwas komplexeres.
115115

116-
Please note that this can only be done in backticks. Other quotes don't have this embedding functionality!
116+
Bitte beachte, dass dies nur bei Backticks möglich ist. Andere Anführungszeichen haben diese Einbettungsfunktion nicht!
117117
```js run
118118
alert( "the result is ${1 + 2}" ); // the result is ${1 + 2} (double quotes do nothing)
119119
```
120120

121-
We'll cover strings more thoroughly in the chapter <info:string>.
121+
In diesem Kapitel werden wir uns eingehender mit Strings befassen <info:string>.
122122

123-
```smart header="There is no *character* type."
124-
In some languages, there is a special "character" type for a single character. For example, in the C language and in Java it is called "char".
123+
```smart header="Es gibt keinen *Zeichen*-Typ."
124+
In einigen Sprachen gibt es einen speziellen "Zeichen"-Typ für ein einzelnes Zeichen. In der C-Sprache und in Java heißt er beispielsweise "char".
125125
126-
In JavaScript, there is no such type. There's only one type: `string`. A string may consist of only one character or many of them.
126+
In JavaScript gibt es so einen Typ nicht. Es gibt nur einen Typ: `string`. Eine Zeichenfolge kann aus nur einem oder mehreren Zeichen bestehen.
127127
```
128128

129-
## Boolean (logical type)
129+
## Boolean (logische Werte)
130130

131-
The boolean type has only two values: `true` and `false`.
131+
Ein Boolean hat nur zwei Werte: `true` und `false`.
132132

133-
This type is commonly used to store yes/no values: `true` means "yes, correct", and `false` means "no, incorrect".
133+
Dieser Typ wird häufig zum Speichern von Ja/Nein-Werten verwendet: `true` bedeutet "ja, richtig" und `false` bedeutet "nein, falsch".
134134

135-
For instance:
135+
Zum Beispiel:
136136

137137
```js
138-
let nameFieldChecked = true; // yes, name field is checked
139-
let ageFieldChecked = false; // no, age field is not checked
138+
let nameFieldChecked = true; // ja, Feld (Name) ist markiert
139+
let ageFieldChecked = false; // nein, Feld (Alter) ist nicht markiert
140140
```
141141

142-
Boolean values also come as a result of comparisons:
142+
Boolesche Werte ergeben sich auch aus Vergleichen:
143143

144144
```js run
145145
let isGreater = 4 > 1;
146146

147-
alert( isGreater ); // true (the comparison result is "yes")
147+
alert( isGreater ); // true (das Vergleichsergebnis ist "richtig")
148148
```
149149

150-
We'll cover booleans more deeply in the chapter <info:logical-operators>.
150+
Wir werden uns im Kapitel <info:logical-operators> eingehender mit loglischen Werten befassen.
151151

152-
## The "null" value
152+
## Der Wert "null"
153153

154-
The special `null` value does not belong to any of the types described above.
154+
Der spezielle `null`-Wert gehört zu keinem der oben beschriebenen Typen.
155155

156-
It forms a separate type of its own which contains only the `null` value:
156+
Er bildet einen eigenen Typ, der nur den Wert `null` enthält:
157157

158158
```js
159159
let age = null;
160160
```
161161

162-
In JavaScript, `null` is not a "reference to a non-existing object" or a "null pointer" like in some other languages.
162+
In JavaScript ist `null` kein "Verweis auf ein nicht vorhandenes Objekt" oder ein "Nullzeiger" wie in einigen anderen Sprachen.
163163

164-
It's just a special value which represents "nothing", "empty" or "value unknown".
164+
Es ist nur ein spezieller Wert, der "nichts", "leer" oder "Wert unbekannt" darstellt.
165165

166-
The code above states that `age` is unknown or empty for some reason.
166+
Der obige Code besagt, dass `age` aus irgendeinem Grund unbekannt oder leer ist.
167167

168-
## The "undefined" value
168+
## Der Wert "undefined"
169169

170-
The special value `undefined` also stands apart. It makes a type of its own, just like `null`.
170+
Der spezielle Wert `undefined` steht ebenfalls abseits. Er bildet einen eigenen Typ, genau wie `null`.
171171

172-
The meaning of `undefined` is "value is not assigned".
172+
Die Bedeutung von `undefined` ist "Wert ist nicht zugewiesen".
173173

174-
If a variable is declared, but not assigned, then its value is `undefined`:
174+
Wenn eine Variable deklariert, aber nicht zugewiesen ist, ist ihr Wert `undefined`:
175175

176176
```js run
177177
let x;
178178

179-
alert(x); // shows "undefined"
179+
alert(x); // zeigt "undefined"
180180
```
181181

182-
Technically, it is possible to assign `undefined` to any variable:
182+
Technisch gesehen ist es möglich, jeder Variablen ein `undefined` zuzuweisen:
183183

184184
```js run
185185
let x = 123;
@@ -189,28 +189,28 @@ x = undefined;
189189
alert(x); // "undefined"
190190
```
191191

192-
...But we don't recommend doing that. Normally, we use `null` to assign an "empty" or "unknown" value to a variable, and we use `undefined` for checks like seeing if a variable has been assigned.
192+
...Aber wir empfehlen das nicht. Normalerweise verwenden wir `null`, um einer Variablen einen "leeren" oder "unbekannten" Wert zuzuweisen, und `undefined`, um zu überprüfen, ob eine Variable zugewiesen wurde.
193193

194-
## Objects and Symbols
194+
## Objekte und Symbole
195195

196-
The `object` type is special.
196+
Der Typ `object` ist etwas Besonderes.
197197

198-
All other types are called "primitive" because their values can contain only a single thing (be it a string or a number or whatever). In contrast, objects are used to store collections of data and more complex entities. We'll deal with them later in the chapter <info:object> after we learn more about primitives.
198+
Alle anderen Typen werden als "primitive" (skalare) Datentypen bezeichnet, da ihre Werte nur ein einzelnes Element enthalten können (sei es eine Zeichenfolge oder eine Zahl oder was auch immer). Im Gegensatz dazu werden Objekte zum Speichern von Datensammlungen und komplexeren Einheiten verwendet. Wir werden später im Kapitel <info:object> darauf eingehen, nachdem wir mehr über skalare Datentypen erfahren haben.
199199

200-
The `symbol` type is used to create unique identifiers for objects. We mention it here for completeness, but we'll study it after objects.
200+
Der Typ `symbol` wird verwendet, um eindeutige Bezeichner für Objekte zu erstellen. Der Vollständigkeit halber erwähnen wir es hier, aber wir werden ihn nach den Objekten untersuchen.
201201

202-
## The typeof operator [#type-typeof]
202+
## Der Operator typeof [#type-typeof]
203203

204-
The `typeof` operator returns the type of the argument. It's useful when we want to process values of different types differently or just want to do a quick check.
204+
Der Operator `typeof` gibt den Typ des Arguments zurück. Dies ist nützlich, wenn wir Werte verschiedener Typen unterschiedlich verarbeiten oder nur eine schnelle Überprüfung durchführen möchten.
205205

206-
It supports two forms of syntax:
206+
Es werden zwei Syntaxformen unterstützt:
207207

208-
1. As an operator: `typeof x`.
209-
2. As a function: `typeof(x)`.
208+
1. Als Operator: `typeof x`.
209+
2. Als Funktion: `typeof(x)`.
210210

211-
In other words, it works with parentheses or without them. The result is the same.
211+
Mit anderen Worten, es funktioniert mit oder ohne Klammern. Das Ergebnis ist das Gleiche.
212212

213-
The call to `typeof x` returns a string with the type name:
213+
Der Aufruf von `typeof x` gibt einen String mit dem Typ zurück:
214214

215215
```js
216216
typeof undefined // "undefined"
@@ -238,29 +238,29 @@ typeof alert // "function" (3)
238238
*/!*
239239
```
240240

241-
The last three lines may need additional explanation:
241+
Die letzten drei Zeilen bedürfen möglicherweise einer zusätzlichen Erläuterung:
242242

243-
1. `Math` is a built-in object that provides mathematical operations. We will learn it in the chapter <info:number>. Here, it serves just as an example of an object.
244-
2. The result of `typeof null` is `"object"`. That's wrong. It is an officially recognized error in `typeof`, kept for compatibility. Of course, `null` is not an object. It is a special value with a separate type of its own. So, again, this is an error in the language.
245-
3. The result of `typeof alert` is `"function"`, because `alert` is a function. We'll study functions in the next chapters where we'll also see that there's no special "function" type in JavaScript. Functions belong to the object type. But `typeof` treats them differently, returning `"function"`. That's not quite correct, but very convenient in practice.
243+
1. `Math` ist ein eingebautes Objekt, das mathematische Operationen liefert. Wir werden es im Kapitel <info:number> lernen. Hier dient es nur als Beispiel für ein Objekt.
244+
2. Das Ergebnis von `typeof null` ist `"object"`. Das ist falsch. Es ist ein offiziell anerkannter Fehler, der aus Kompatibilitätsgründen erhalten wurde. Natürlich ist `null` kein Objekt. Es ist ein besonderer Wert mit einem eigenen Typ. Also, nochmal, es ist ein Fehler der Sprache.
245+
3. Das Ergebnis von `typeof alert` ist `"function"`, da `alert` eine Funktion ist. Wir werden Funktionen in den nächsten Kapiteln untersuchen, in denen wir auch feststellen werden, dass es in JavaScript keinen speziellen "Funktionstyp" gibt. Funktionen gehören zum Objekttyp. Aber `typeof` behandelt sie anders und gibt `"function"` zurück. Das ist nicht ganz richtig, aber in der Praxis sehr nützlich.
246246

247-
## Summary
247+
## Zusammenfassung
248248

249-
There are 8 basic data types in JavaScript.
249+
Es gibt 8 grundlegende Datentypen in JavaScript.
250250

251-
- `number` for numbers of any kind: integer or floating-point, integers are limited by ±2<sup>53</sup>.
252-
- `bigint` is for integer numbers of arbitrary length.
253-
- `string` for strings. A string may have one or more characters, there's no separate single-character type.
254-
- `boolean` for `true`/`false`.
255-
- `null` for unknown values -- a standalone type that has a single value `null`.
256-
- `undefined` for unassigned values -- a standalone type that has a single value `undefined`.
257-
- `object` for more complex data structures.
258-
- `symbol` for unique identifiers.
251+
- `number` für Zahlen jeglicher Art: Ganzzahl oder Gleitkommazahl, ganze Zahlen werden begrenzt durch ±2<sup>53</sup>.
252+
- `bigint` steht für ganzzahlige Zahlen beliebiger Länge.
253+
- `string` für Zeichenketten. Eine String kann aus einem oder mehreren Zeichen bestehen. Es gibt keine separaten Einzelzeichen.
254+
- `boolean` für `true`/`false`.
255+
- `null` für unbekannte Werte -- ein eigenständiger Typ mit einem einzelnen Wert `null`.
256+
- `undefined` für nicht zugewiesene Werte -- ein eigenständiger Typ mit einem einzelnen Wert `undefined`.
257+
- `object` für komplexere Datenstrukturen.
258+
- `symbol` für eindeutige Kennungen.
259259

260-
The `typeof` operator allows us to see which type is stored in a variable.
260+
Mit dem Operator `typeof` können wir sehen, welcher Typ in einer Variablen gespeichert ist.
261261

262-
- Two forms: `typeof x` or `typeof(x)`.
263-
- Returns a string with the name of the type, like `"string"`.
264-
- For `null` returns `"object"` -- this is an error in the language, it's not actually an object.
262+
- Zwei Formen: `typeof x` oder `typeof(x)`.
263+
- Gibt einen String mit dem Namen des Typs zurück, wie `"string"`.
264+
- Für `null` gibt es `"object"` zurück -- dies ist ein Fehler in der Sprache, es ist eigentlich kein Objekt.
265265

266-
In the next chapters, we'll concentrate on primitive values and once we're familiar with them, we'll move on to objects.
266+
In den nächsten Kapiteln werden wir uns auf skalare Datentypen konzentrieren und, sobald wir mit ihnen vertraut sind, zu Objekten übergehen.

0 commit comments

Comments
 (0)