Hallo Leser,
Ich werde die Frage zur Codierung von Javascript-Interviews erklären. Wie der Javascript-Compiler funktioniert und was er tatsächlich als Ausgabe erzeugt.
Ich werde jeden Teil der Ausgabe aufschlüsseln, erklären, warum er so aussieht, und ihn wieder mit den spezifischen Codezeilen verbinden, die dafür verantwortlich sind
let a = {}; let b = { key: 'b' }; let c = { key: 'c' }; a[b] = 123; a[c] = 456; console.log(a[b])
Bevor wir in die Details eintauchen, nehmen Sie sich einen Moment Zeit, um sich dieses Code-Snippet anzusehen. Versuchen Sie zu erraten, wie die Ausgabe auf der Grundlage Ihres aktuellen Verständnisses aussehen wird. Dieser Ansatz trägt nicht nur dazu bei, Ihre JavaScript-Kenntnisse zu verbessern, sondern macht auch die folgende Erklärung viel aussagekräftiger
„Überlegen Sie, wie JavaScript jede Zeile verarbeiten wird. Wenn Sie Ihre Vermutung gemacht haben, lesen Sie weiter, um zu sehen, ob Sie es richtig gemacht haben!“
let a = {};
Über dem Code wird ein leeres Objekt erstellt und der Variablen „a“ zugewiesen.
let b = { key: 'b' };
Diese Zeile erstellt ein Objekt mit einem einzelnen Eigenschaftsschlüssel und dem Wert „b“ und weist es der Variablen „b“ zu.
let c = { key: 'c' };
Diese Zeile erstellt ein Objekt mit einem einzelnen Eigenschaftsschlüssel und dem Wert „c“ und weist es der Variablen „c“ zu.
a[b] = 123;
a[b] = 123 Diese Zeile legt eine Eigenschaft des Objekts a unter Verwendung des Objekts b als Schlüssel fest. Wenn in JavaScript ein Objekt als Schlüssel in einem anderen Objekt verwendet wird, wird das Objekt zunächst mithilfe der Methode toString() in einen String konvertiert. In diesem Fall lautet die Zeichenfolgendarstellung des Objekts b "[object Object]" . Daher wird die Eigenschaft "[object Object]" des Objekts a auf den Wert 123 gesetzt.
a[c] = 456;
Ähnlich wie im vorherigen Schritt ist "c" auch ein Objekt und wird in einen String konvertiert, es wird zu ""[object Object]"".
Daher ist die Zeile a[c] = 456; äquivalent zu "a[object Object]"=456, was bedeutet, dass das Objekt "[object Object]"-Eigenschaft und ihr Wert ist 456.
console.log(a[b])
Ausgabe ist 456. Wenn Sie versuchen, auf die Eigenschaft "a[b]" zuzugreifen, konvertiert Javascript b erneut in einen String, der "[object Object]" ist. Da das Objekt eine Eigenschaft mit dem Schlüssel "[object Object]" hat und sein Wert 456 ist. Die Ausgabe wird also gedruckt.
Zusammenfassend zeigt der Code, dass, wenn ein Objekt als Schlüssel in einem anderen Objekt verwendet wird, das Objekt zunächst in eine Zeichenfolgendarstellung konvertiert wird, die standardmäßig „[Objekt Objekt]“ ist. Das bedeutet, dass die Objekte b und c als derselbe Schlüssel behandelt werden und der letzte diesem Schlüssel zugewiesene Wert abgerufen wird.
Ich hoffe, diese Erklärung hat nicht nur den Code verdeutlicht, sondern auch die Neugier geweckt, ihn weiter zu erkunden. JavaScript steckt voller Überraschungen und leistungsstarker Tools, und jedes Stück, das Sie lernen, bringt Sie Ihrer Beherrschung näher.
Vielen Dank fürs Lesen und ich hoffe, Ihnen hat diese Aufschlüsselung gefallen! Teilen Sie Ihre Gedanken, Fragen oder Ideen für zukünftige Themen gerne in den Kommentaren mit.
Viel Spaß beim Codieren!
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3