Transcript aus der Lektion „Bracket Notation“

>> Bianca Gandolfo: Also, was hat es mit den Klammern auf sich, richtig? Seid ihr damit vertraut, Klammern zu sehen?
>> Bianca Gandolfo: Ja? Das ist wahrscheinlich eher das, woran ihr denkt, wenn ihr an ein Array denkt, richtig? Sie sehen Person

mit Klammern und einem Wert, richtig? In diesem Fall ist es eine Zeichenkette. Aber es könnte ein Objekt sein, es könnte eine Funktion sein, es könnte wirklich alles sein.

Wenn du ein Array von Funktionen speicherst, machst du wahrscheinlich etwas falsch. Aber es ist möglich.
>> Bianca Gandolfo: Was hier also wirklich passiert, ist, dass unsere 0 einfach in eine Zeichenkette umgewandelt wird. Und da ist sie, sie ist nur eine Eigenschaft.
>> Bianca Gandolfo: Aber warum können wir dann nicht sagen, Person.0?
>> Bianca Gandolfo: Weil das ein Syntaxfehler ist, weil es keine Zeichenkette ist.

Deshalb müssen wir die Klammern verwenden. Wir benutzen also die Klammern, wenn wir den Punkt nicht benutzen können. Und wann kann man den Punkt nicht verwenden? Ziemlich genau dann, wenn der Wert kein String-Literal sein soll, richtig? Also, zum Beispiel, Name, der Eigenschaftsname ist Name, sorry, Leute.

Und so sagt man .name it, speichert als Name, ja? Wenn Sie in eine Zeichenkette zwingen müssen, oder es ist einfach ungültig, richtig, es gibt einige ungültige Zeichen, können Sie denken, was kann ich erstellen? Was ist ein gültiger Variablenname? Das ist die Art, wie man darüber nachdenkt. Wenn es ein gültiger Variablenname ist, kann er wahrscheinlich mit einer Punktnotation verwendet werden.

Wenn er es nicht ist, wird er von Ihrem Parser aufgehalten. Deshalb benutzen wir die Klammern, einfach weil es eine Zahl ist.
>> Bianca Gandolfo: Und das war’s.
>> Bianca Gandolfo: Ja?
>> Bianca Gandolfo: Sind wir alle da?
>> Bianca Gandolfo: In Ordnung, und was ist damit? Wir haben also unsere Person, wir haben den Namen, wir haben ein Plädoyer.

Ich würde nie, sagt Mrs. White.
>> Bianca Gandolfo: Was wird mit unserer Datenstruktur passieren? Welcher Pfeil muss wo hin? Wie wäre es mit einem grauen Reißverschluss ganz am Ende?
>> Sprecher 2: Name zu Ich würde nie.
>> Bianca Gandolfo: Du denkst, Name würde zu ich würde nie gehen?
>> Sprecher 2: Nein.
>> Bianca Gandolfo: Ich gebe dir eine zweite Chance.

>> Sprecher 2: Person zu der ich nie würde.
>> Bianca Gandolfo: Schließen
>> Bianca Gandolfo: Was ist hier das Problem?
>> Sprecher 3: Wir haben im Moment nichts, was sich „Bitte“ nennt, damit verbunden.
>> Bianca Gandolfo: Ja, wenn wir die Klammern verwenden, gehen wir nicht davon aus, dass es eine Zeichenkette ist. Es könnte also ein Variablenname sein, es könnte ein Ausdruck sein.

Man könnte eine Funktion in einer Klammer aufrufen, wenn man das möchte. Auch das ist wahrscheinlich keine gute Idee, aber es ist gültig. Es wird keinen Fehler geben, also ja, wir müssen das ändern. Wir aktualisieren also das Plädoyer durch die Zeichenkette wouldShe. Beachten Sie, dass der Eigenschaftsname hier wouldShe und nicht plea lautet.

Wie könnten wir vorgehen, wenn wir wollen, dass es plea ist? Wie wäre es hier in der Mitte mit dem Schwarz?
>> Sprecher 4: Können Sie das noch einmal fragen? Entschuldigung, ich bin es durchgegangen.
>> Bianca Gandolfo: Sicher, kein Problem. Ich habe gerade gesagt, dass wouldShe der Eigenschaftsname ist.

Aber manche erwarten vielleicht, dass es plea ist, aber das ist es nicht. Wenn wir wollen, dass es plea ist, was müssen wir dann ändern?
>> Sprecher 4: Sehen Sie, es müsste irgendwie auf der anderen Seite des Gleichheitszeichens stehen. Person: Es muss zugewiesen werden, denn im Moment ist es…

>> Bianca Gandolfo: Wie machen wir es vorher für diese?
>> Sprecher 4: Nun, wir könnten die Person.plea.
>> Bianca Gandolfo: Mm-hm, ja, man kann also durchaus die Punktnotation verwenden und sie zuweisen. Die Punktnotation zwingt sie also in eine Zeichenkette, richtig?
>> Bianca Gandolfo: Wie können wir das mit der Klammerschreibweise machen?

>> Sprecher 3: In Anführungszeichen setzen?
>> Bianca Gandolfo: Setzen Sie Anführungszeichen drum herum. So macht man manuell eine Zeichenkette, richtig, anstatt sie zu erzwingen. Großartig.
>> Bianca Gandolfo: So, und jetzt-
>> Sprecher 5: Ich habe eine Frage.
>> Bianca Gandolfo: Ja.
>> Sprecher 5: Könnten Sie noch einmal zu der anderen Folie gehen?

In diesem Beispiel haben Sie also zuerst die Variable plea auf wouldShe gesetzt. Und dann später haben Sie die Klammer verwendet. Wenn Sie den ersten Schritt überspringen würden, indem Sie die Variable plea auf wouldShe setzen, was wäre dann in der letzten Zeile mit der Personenklammer plea passiert?
>> Bianca Gandolfo: Ja, also das erste, was passieren würde, ist, dass es auswertet, was in der Klammer steht.

Nun, eigentlich machen wir das zuerst, aber es wird die Klammer auswerten. Es wird sagen, dass plea eine Variable ist, also gibt es keine Anführungszeichen oder ähnliches. Es ist keine Zahl. Es scheint eine Variable zu sein. Also wird es zuerst im Bereich nach einer Variablen suchen und in allen Bereichen, mit denen es verbunden ist, worüber wir später sprechen werden, und es wird feststellen, dass es keine plea gibt.

Und so lassen wir es laufen und sehen, was es uns sagt.
>> Sprecher 5: Würde das dann einen Fehler auslösen, wenn man versucht, so zuzuweisen?
>> Bianca Gandolfo: Ja, plea ist nicht definiert, heißt es. Ich denke, es ist gut, die Fehler zu lernen.
>> Bianca Gandolfo: Cool.
>> Sprecher 6: Also zeige ihnen, wie man es mit Anführungszeichen in der Klammer korrigiert.

>> Bianca Gandolfo: Mm-hm, also wenn du das siehst, setzen wir einfach unsere Anführungszeichen drum herum, und dann sind wir zufrieden.
>> Bianca Gandolfo: Hier ist unsere kleine Besonderheit des Arrays. Wir haben unsere kleine Länge, die Null ist, was interessant ist, richtig? Denn wir haben einige Dinge in diesem Array.
>> Bianca Gandolfo: Interessant, okay.
>> Bianca Gandolfo: Toll, also wenn wir etwas mit den Klammern erstellen, können wir es dann mit einem Punkt nachschlagen?

>> Bianca Gandolfo: Klingt vernünftig. Können Sie sich vorstellen, wenn Sie sich merken müssten, wie etwas definiert ist? Sie können sich vorstellen, viele Dateien und, usw., usw., Sie brauchen sich nicht zu erinnern, wie es definiert ist. Es kann so oder so sein. Sie müssen sich nur an die Grundregeln erinnern. Ich werde also auf einige Leute zeigen, und wir werden die Regeln aufdecken, die wir bisher über Objekte und Arrays entdeckt haben.

Bist du bereit? Okay, fangen wir also ganz, ganz hinten an. Was ist eine Regel, die wir in dieser Übung über Objekte in Arrays gelernt haben?
>> Sprecher 6: Array ist eine Art von Objekt. Es hat bereits einige Methoden, die ihm zugeordnet sind.
>> Bianca Gandolfo: Super, das ist wahrscheinlich das coolste, denke ich. Ja, und dann hier drüben.

Es wird so gehen, also bereite dich darauf vor.
>> Sprecher 6: Eigenschaftsstring kann mit Punktnotation oder Klammern und Anführungszeichen übergeben werden.
>> Bianca Gandolfo: Mm-hm, ja, absolut.
>> Bianca Gandolfo: .
>> Sprecher 6: Können wir zurückkommen?
>> Bianca Gandolfo: Sicher, sicher, sicher.
>> Sprecherin 2: Ich darf ein bisschen wiederholen. Aber die Punktschreibweise zwingt zu einer Zeichenkette, wo die Klammer nicht zwangsläufig ist.

>> Bianca Gandolfo: Und warum können wir keine Punktnummer verwenden? Zum Beispiel, Punktnull, warum funktioniert das nicht?
>> Bianca Gandolfo: Weil, wenn wir eine Zeichenkette mit einem Punkt erzwingen, richtig, wenn wir sagen, Person.0, richtig, warum können wir das nicht tun? Die Antwort steht in der nächsten Zeile.
>> Sprecher 2: Es gibt keine Variable namens 0.

>> Bianca Gandolfo: Nun, für die Punktnotation wird es zu einem String gezwungen.
>> Sprecher 3: Liegt es daran, dass 0 kein String ist. Sie wird als eine Zahl angesehen?
>> Bianca Gandolfo: Nun, man kann eine Zahl in eine Zeichenkette zwingen, richtig?
>> Bianca Gandolfo: Der Grund ist, dass es einfach eine ungültige Syntax ist. Es fängt an, es als Zahl auszuwerten und kommt durcheinander.

Und so wird es einen Syntaxfehler geben. Wir können die Punktnotation also nur für Zeichen verwenden, die nicht ungewöhnlich sind. Und wenn ich ungewöhnlich meine, dann meine ich, dass man einen Variablennamen erstellen kann, der mit diesem Zeichen beginnt, der dieses Zeichen enthält, richtig? Sie können also einen Unterstrich verwenden, aber keinen Bindestrich.

Das sind Dinge, die man einfach durch Ausprobieren lernen muss. Aber machen Sie sich klar, dass Sie einen Syntaxfehler bekommen können, wenn Sie eine Punktnotation oder ein etwas ungewöhnliches Zeichen verwenden. Und wenn das passiert, ist die Lösung? Entschuldigung, ich habe Notizen getippt.

Was war-
>> Sprecher 3: Ändere es in eine Zeichenkette.
>> Bianca Gandolfo: Ja, setze es in eine Klammerschreibweise und setze es in Anführungszeichen. Ja, großartig, ich weiß, dass ich das hier einbaue. Aber das ist die häufigste Sache, an der die Leute hängen bleiben und die viel Zeit in Anspruch nehmen kann. Aber wenn du die Regeln lernst, ist es ziemlich einfach.

Es gibt, ich weiß nicht, eine Handvoll Regeln, vielleicht fünf Regeln, die man kennen muss. Aber ihr scheint es zu kapieren.

admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

lg