Meta tags:
description= Erfahren Sie, wie JavaScript Property Flags (writable, enumerable, configurable) und Deskriptoren funktionieren, einschließlich defineProperty, freeze, seal…;
Headings (most frequently used words):
property, descriptors, javascript, flags, eigenschaften, und, eine, eigenschaft, attributes, verstehen, im, detail, manipulieren, übergeordnete, apis, auf, basis, dieser, fazit, übungen, data, vs, accessor, mehrere, gleichzeitig, definieren, auslesen, als, nicht, schreibbar, markieren, vor, der, aufzählung, verbergen, löschen, ändern, von, verhindern,
Text of the page (most frequently used words):
und (78), object (61), user (44), die (40), #javascript (36), eigenschaft (33), false (26), name (25), property (24), writable (24), eigenschaften (24), flags (22), das (20), console (19), api (19), dom (19), configurable (18), werden (18), ein (18), eine (18), log (18), true (18), john (17), von (16), der (16), lernen (15), descriptors (15), enumerable (15), auf (14), flag (14), strict (14), value (14), sie (13), mit (13), let (13), ist (12), oder (12), defineproperty (12), wird (12), nicht (12), this (11), descriptor (11), methoden (11), für (10), kann (10), run (10), editable (10), wert (9), data (9), einer (9), alle (8), html (8), web (8), accessor (8), geändert (8), verhalten (7), and (7), age (7), diese (7), obj (7), editor (6), tools (6), wie (6), zurück (6), einen (6), getownpropertydescriptor (6), set (6), ignored (6), jede (6), als (6), role (6), gibt (6), w3docs (5), über (5), code (5), übungen (5), freeze (5), non (5), modus (5), mode (5), getownpropertydescriptors (5), funktionen (5), get (5), objects (5), gesetzt (5), einem (5), fehler (5), string (5), events (5), formatter (5), color (5), json (4), generator (4), css (4), manipulieren (4), verstehen (4), getter (4), setter (4), was (4), sind (4), durch (4), definiert (4), können (4), syntax (4), jedoch (4), typeerror (4), undefined (4), defineproperties (4), properties (4), den (4), zuweisung (4), man (4), eines (4), firstname (4), lastname (4), fullname (4), beim (4), shadow (4), fetch (4), async (4), einführung (4), encoder (3), quizze (3), php (3), apis (3), basis (3), dieser (3), detail (3), page (3), prototyp (3), inheritance (3), wenn (3), seal (3), schlägt (3), lautlos (3), fehl (3), noch (3), ändern (3), ihr (3), setzen (3), eigenen (3), präzise (3), sich (3), new (3), methode (3), dass (3), löschen (3), indem (3), gelöscht (3), konfigurierbar (3), the (3), for (3), use (3), klassen (3), aus (3), clone (3), einschließlich (3), attribute (3), deskriptoren (3), document (3), browser (3), objekte (3), event (3), promise (3), function (3), objekt (3), operatoren (3), italiano (2), português (2), español (2), français (2), русский (2), deutsch (2), english (2), uns (2), beautifier (2), diff (2), password (2), python (2), java (2), git (2), bücher (2), beispiele (2), snippets (2), fazit (2), übergeordnete (2), attributes (2), closures (2), prototypal (2), methods (2), getters (2), setters (2), gesamtes (2), preventextensions (2), wirft (2), sperrt (2), form (2), ihren (2), geben (2), verwendet (2), beide (2), teilen (2), ihnen (2), kontrolle (2), darüber (2), delete (2), isfrozen (2), hinzugefügt (2), verhindert (2), hinzufügen (2), bestehende (2), werte (2), neue (2), drei (2), eingebaute (2), umschalten (2), allowed (2), entweder (2), markieren (2), kein (2), operation (2), sicherzustellen (2), verhindern (2), key (2), vor (2), schleifen (2), verbergen (2), dies (2), erreicht (2), aufzählung (2), try (2), jane (2), catch (2), err (2), ausgeführt (2), schreiben (2), standardmäßig (2), stellt (2), entscheidend (2), wir (2), steuert (2), prints (2), spread (2), symbol (2), mehrere (2), map (2), gleichzeitig (2), definieren (2), finden (2), unter (2), smith (2), alice (2), cooper (2), lesen (2), typen (2), funktion (2), aufgerufen (2), ohne (2), dem (2), informationen (2), tostring (2), nach (2), propname (2), workers (2), file (2), suche (2), muster (2), quantoren (2), anker (2), components (2), animationen (2), url (2), microtasks (2), formulare (2), benutzerdefinierte (2), ereignisse (2), styles (2), arrays (2), generatoren (2), advanced (2), await (2), fehlerbehandlung (2), promises (2), chaining (2), error (2), erweitern (2), handling (2), class (2), prototypes (2), interaktive (2), elemente (2), verwenden (2), arrow (2), variablen (2), functions (2), hash (2), 2026, rechte, vorbehalten, entwickler, gemacht, sprache, datenschutzrichtlinie, kontakt, unternehmen, probier, üben, kostenlose, tutorials, seit, 2014, next, previous, yes, helpful, prüfen, runnable, übung, tauchen, darin, sehen, eigenschaftssuche, kette, durchläuft, nächste, schritte, greifen, statt, einzelner, sperren, möchten, verstoß, gegen, unumkehrbar, allerdings, gelesen, geschrieben, geerbte, fehlende, kombiniert, stattdessen, city, hat, entsprechende, prüffunktion, beachten, nur, ebene, tief, wirken, friert, keine, verschachtelten, handelt, flaches, einfrieren, issealed, isextensible, restriktivsten, versiegelt, macht, sodass, nichts, entfernt, markiert, weiterhin, müssen, selten, einzeln, bietet, admin, but, viewer, now, anderen, worten, zwingend, wirklich, einzufrieren, sowohl, auch, direkte, darf, aber, zwei, wichtige, ausnahmen, solange, wieder, machen, mehr, zwischen, wechseln, unumkehrbare, deletion, will, fester, bestandteil, bleibt, manchmal, notwendig, aufzählungsprozessen, fehlgeschlagenen, hängt, davon, welchem, schreibbare, einfach, ignoriert, ausgelöst, ausführung, fortgesetzt, verschleiern, innerhalb, modulen, bodies, löst, dieselbe, regel, gilt, verletzt, konfigurierbaren, erweiterbaren, ebenfalls, see, note, below, änderungen, datenkonsistenz, sicher, schreibbar, effektive, entwicklung, schauen, anzupassen, roughly, preserving, besonders, nützlich, seinen, klonen, einfaches, kopiert, zwar, setzt, überspringt, accessors, assign, mitsamt, aufzählbarer, schlüssel, einzelnes, arbeit, mehreren, schritt, gegenstücke, oben, genannten, bereit, auslesen, ausführlichere, behandlung, kurzschreibweise, literalen, gebunden, hilfreich, return, split, berechnen, validieren, folgenden, beispiel, zweier, bereitgestellt, niemals, beides, kombination, führt, zuweisen, wertes, zur, erhält, neuen, argumente, bisher, haben, beschrieben, zusammen, speichern, unterstützt, außerdem, ersetzen, weitere, erben, inherited, from, prototype, not, owned, missing, betrachtet, ausschließlich, gefragt, seinem, erbt, gar, existiert, hinweis, normalem, weg, anlegen, jedes, angegebene, bestimmt, zeigt, aufzählbar, eigenschaftswert, zugeordnete, liefern, detaillierte, kapseln, deren, abgerufen, folgende, felder, enthalten, zugriff, kontrollieren, datenintegrität, kapselung, anwendungen, umzusetzen, bei, sichtbar, beispielsweise, schleife, legt, fest, sammlungen, besitzt, zugehörige, häufig, bezeichnet, umfassen, bieten, ermöglichen, robuste, sichere, anwendungsentwicklung, artikel, beleuchtet, features, liefert, praktische, einblicke, sowie, helfen, effektiv, steuern, erfahren, funktionieren, intl, vibration, notifications, audio, webrtc, geolocation, websockets, service, midi, storage, validation, fullscreen, history, screen, orientation, push, webgl, battery, animations, regexp, sticky, position, katastrophales, backtracking, lookahead, lookbehind, alternation, rückwärtsreferenzen, erfassungsgruppen, gierige, faule, sets, ranges, escaping, sonderzeichen, wortgrenze, mehrzeiliger, anfang, ende, unicode, klasse, zeichenklassen, regex, regular, expressions, styling, slots, komposition, template, element, custom, elements, animation, indexeddb, localstorage, sessionstorage, cookies, cookie, storing, wiederaufnehmbarer, dateiupload, server, sent, xmlhttprequest, ursprungsübergreifende, anfragen, abbruch, download, fortschritt, formdata, network, requests, canvas, references, loop, macrotasks, selection, range, resizeobserver, intersectionobserver, mutation, observer, various, ressourcen, laden, onload, onerror, scripts, defer, domcontentloaded, load, beforeunload, unload, resource, loading, ereignis, submit, clipboard, change, input, cut, copy, paste, fokussierung, focus, blur, formulareigenschaften, forms, controls, scrolling, tastatur, keydown, keyup, drag, drop, mausbewegungen, mausereignisse, grundlagen, auslösen, standard, browseraktionen, delegation, bubbling, capturing, introduction, koordinaten, fenstergrößen, scrollen, dokument, verändern, knoteneigenschaften, typ, tag, inhalt, getelement, queryselector, browserumgebung, spezifikationen, streams, filereader, blob, textdecoder, textencoder, arraybuffer, binäre, binary, files, fensterübergreifende, kommunikation, popups, window, frames, windows, polyfills, transpiler, bigint, currying, eval, proxy, reflect, miscellaneous, dynamische, imports, export, import, module, modules, iteratoren, generators, iteration, promisification, callbacks, mixins, checking, instanceof, private, geschützte, statische, klassenvererbung, grundsyntax, classes, __proto__, native, prototypale, vererbung, widgets, performance, optimierung, debugging, barrierefreiheit, kompatibilität, manipulationsbibliotheken, fortgeschrittene, techniken, manipulationstechniken, traversieren, arbeiten, auswählen, knoten, configuration, vertieft, binding, debounce, throttle, dekoratoren, weiterleitung, call, apply, settimeout, setinterval, nfe, globales, alte, var, scope, rest, parameter, rekursion, stack, tojson, datum, uhrzeit, destructuring, assignment, keys, values, entries, weakmap, weakset, iterables, array, strings, math, zahlen, primitiven, types, optional, konstruktor, operator, primitiv, konvertierung, garbage, collection, objektmethoden, kopieren, basics, es6, funktionsausdrücke, switch, bedingte, nullish, coalescing, logische, vergleichsoperatoren, typkonvertierungen, datentypen, kommentare, basic, anmelden, durchsuchen, formatters, reverse, sha256, md5, length, calculator, colors, hsl, hex, mixer, converter, picker, general, kurse,
Text of the page (random words):
er und spread syntax js variablen scope js das alte var js globales objekt js function objekt nfe js die new function syntax js settimeout und setinterval js dekoratoren und weiterleitung call apply js debounce throttle js function binding js arrow funktionen vertieft js closures object properties configuration js property flags und deskriptoren js property getter und setter javascript html dom dom einführung die dom knoten dom elemente auswählen den dom manipulieren arbeiten mit styles im dom event handling im dom dom traversieren dom manipulationstechniken formulare im dom verwenden fortgeschrittene dom techniken dom manipulationsbibliotheken dom browser kompatibilität dom barrierefreiheit debugging und tools performance optimierung interaktive elemente und widgets prototypes inheritance js prototypale vererbung js native prototypes js prototyp methoden objekte ohne __proto__ classes js class grundsyntax js klassenvererbung statische eigenschaften und methoden private und geschützte eigenschaften in js js eingebaute klassen erweitern js class checking instanceof js mixins error handling js fehlerbehandlung try catch js benutzerdefinierte fehler error erweitern promises async await js einführung callbacks js promise js promise chaining js fehlerbehandlung mit promises promise api promisification microtasks async await generators advanced iteration generatoren async iteratoren und generatoren modules module export und import dynamische imports miscellaneous proxy und reflect eval currying bigint js polyfills transpiler frames and windows popups und window methoden fensterübergreifende kommunikation binary data files arraybuffer binäre arrays textdecoder und textencoder blob file und filereader js streams api document browserumgebung spezifikationen suche getelement queryselector knoteneigenschaften typ tag und inhalt attribute und eigenschaften das dokument verändern styles und klassen fenstergrößen und scrollen koordinaten introduction to events javascript einführung in browser ereignisse bubbling und capturing event delegation standard browseraktionen benutzerdefinierte ereignisse auslösen ui events mausereignisse grundlagen mausbewegungen drag and drop tastatur keydown und keyup scrolling forms controls formulareigenschaften und methoden fokussierung focus blur events change input cut copy paste js clipboard api formulare ereignis und methode submit document and resource loading page domcontentloaded load beforeunload unload scripts async defer ressourcen laden onload und onerror various mutation observer js intersectionobserver js resizeobserver selection und range event loop microtasks und macrotasks javascript references canvas network requests fetch api formdata fetch download fortschritt fetch abbruch fetch ursprungsübergreifende anfragen url objekte xmlhttprequest js server sent events wiederaufnehmbarer dateiupload storing data in the browser cookies document cookie localstorage sessionstorage indexeddb animation css animationen javascript animationen web components web components custom elements shadow dom template element shadow dom slots komposition shadow dom styling shadow dom und events regular expressions js regex muster und flags zeichenklassen unicode flag u und klasse p anker string anfang und ende mehrzeiliger modus der anker flag m wortgrenze b escaping sonderzeichen sets und ranges quantoren und n gierige und faule quantoren erfassungsgruppen rückwärtsreferenzen im muster n und k name javascript alternation or lookahead und lookbehind katastrophales backtracking sticky flag y suche an position methoden von regexp und string javascript apis web animations api file api battery api webgl push api screen orientation api history api console api fullscreen api validation api web storage api web midi api js web workers service workers websockets geolocation webrtc web audio api notifications api die vibration api js intl api javascript property descriptors erfahren sie wie javascript property flags writable enumerable configurable und deskriptoren funktionieren einschließlich defineproperty freeze seal und strict mode verhalten javascript property flags und deskriptoren bieten präzise kontrolle über object eigenschaften und ermöglichen eine robuste und sichere anwendungsentwicklung dieser artikel beleuchtet diese features im detail und liefert praktische einblicke sowie code beispiele die ihnen helfen das verhalten von eigenschaften effektiv zu steuern javascript property attributes verstehen javascript objects sind sammlungen von eigenschaften und jede eigenschaft besitzt zugehörige attribute die ihr verhalten definieren diese attribute häufig als property flags bezeichnet umfassen writable legt fest ob der wert der eigenschaft geändert werden kann enumerable steuert ob die eigenschaft bei der aufzählung sichtbar ist beispielsweise in einer for in schleife configurable gibt an ob die eigenschaft gelöscht oder geändert werden kann diese flags sind entscheidend um den zugriff auf object eigenschaften zu kontrollieren die datenintegrität sicherzustellen und kapselung in javascript anwendungen umzusetzen property descriptors im detail property descriptors liefern detaillierte informationen über die eigenschaft eines object und kapseln deren wert und flags sie werden mit object getownpropertydescriptor obj propname abgerufen und mit object defineproperty obj propname descriptor gesetzt ein property descriptor object kann folgende felder enthalten value der der eigenschaft zugeordnete wert writable gibt an ob der eigenschaftswert geändert werden kann enumerable zeigt an ob die eigenschaft aufzählbar ist configurable bestimmt ob der property descriptor geändert und die eigenschaft aus dem object gelöscht werden kann hinweis wenn sie eine eigenschaft auf normalem weg anlegen user name john werden alle drei flags auf true gesetzt wird eine neue eigenschaft jedoch über object defineproperty definiert ist jedes nicht angegebene flag standardmäßig false javascript editable run let user name john let descriptor object getownpropertydescriptor user name console log descriptor console log prints value john writable true enumerable true configurable true object getownpropertydescriptor betrachtet ausschließlich die eigenen eigenschaften eines object wird nach einer eigenschaft gefragt die das object von seinem prototyp erbt oder nach einer eigenschaft die gar nicht existiert gibt die methode undefined zurück javascript editable run let user name john tostring is inherited from object prototype not owned by user console log object getownpropertydescriptor user tostring undefined console log object getownpropertydescriptor user missing undefined weitere informationen darüber wie objects eigenschaften erben finden sie unter prototypal inheritance data descriptors vs accessor descriptors bisher haben wir data descriptors beschrieben die einen value zusammen mit dem writable flag speichern javascript unterstützt außerdem accessor descriptors die value writable durch getter und setter funktionen ersetzen get eine funktion die beim lesen der eigenschaft aufgerufen wird ohne argumente set eine funktion die beim zuweisen eines wertes zur eigenschaft aufgerufen wird erhält den neuen wert ein descriptor ist entweder ein data descriptor oder ein accessor descriptor niemals beides gleichzeitig die kombination von value writable mit get set führt zu einem fehler beide typen teilen die flags enumerable und configurable accessor properties werden verwendet um einen wert beim lesen zu berechnen oder beim schreiben zu validieren im folgenden beispiel wird ein fullname accessor auf basis zweier data properties bereitgestellt javascript editable run let user firstname john lastname smith object defineproperty user fullname get return this firstname this lastname set value this firstname this lastname value split enumerable true configurable true console log user fullname john smith user fullname alice cooper console log user firstname alice console log user lastname cooper eine ausführlichere behandlung der get set syntax einschließlich der kurzschreibweise in object literalen finden sie unter property getters and setters da getter und setter mit this gebunden an das object ausgeführt werden ist es hilfreich object methods and this zu verstehen mehrere eigenschaften gleichzeitig definieren und auslesen für die arbeit mit mehreren eigenschaften in einem schritt stellt javascript die gegenstücke der oben genannten methoden bereit object defineproperties obj descriptors definiert mehrere eigenschaften aus einer map von descriptors object getownpropertydescriptors obj gibt descriptors für alle eigenen eigenschaften einschließlich nicht aufzählbarer und symbol schlüssel als einzelnes object zurück object getownpropertydescriptors ist besonders nützlich um ein object mitsamt seinen flags zu klonen ein einfaches spread oder object assign kopiert zwar die werte setzt jedoch alle flags auf true zurück und überspringt accessors javascript editable run let user object defineproperties user name value john writable false enumerable true age value 30 enumerable true console log object getownpropertydescriptors user console log prints roughly name value john writable false enumerable true configurable false age value 30 writable false enumerable true configurable false a flag preserving clone let clone object defineproperties object getownpropertydescriptors user console log clone name john property flags manipulieren das verstehen und manipulieren von property flags ist entscheidend für eine effektive javascript entwicklung schauen wir uns an wie man diese flags steuert um das verhalten von eigenschaften präzise anzupassen eine eigenschaft als nicht schreibbar markieren das verhindern von änderungen an einer eigenschaft stellt die datenkonsistenz sicher dies erreicht man indem das writable flag auf false gesetzt wird javascript editable run let user name john object defineproperty user name writable false user name jane ignored see note on strict mode below console log user name john das verhalten einer fehlgeschlagenen zuweisung hängt davon ab in welchem modus der code ausgeführt wird im non strict modus schlägt das schreiben in eine nicht schreibbare eigenschaft lautlos fehl die zuweisung wird einfach ignoriert es wird kein fehler ausgelöst und die ausführung wird fortgesetzt was fehler verschleiern kann im strict mode use strict und standardmäßig innerhalb von es modulen und klassen bodies löst dieselbe zuweisung einen typeerror aus diese regel gilt für jede operation die ein flag verletzt das löschen einer nicht konfigurierbaren eigenschaft oder das hinzufügen einer eigenschaft zu einem nicht erweiterbaren object schlägt im non strict modus ebenfalls lautlos fehl und wirft im strict mode einen fehler javascript editable run use strict let user name john object defineproperty user name writable false try user name jane catch err console log err name typeerror eine eigenschaft vor der aufzählung verbergen manchmal ist es notwendig eigenschaften vor aufzählungsprozessen wie for in schleifen zu verbergen dies erreicht man indem das enumerable flag auf false gesetzt wird javascript editable run let user name john age 30 object defineproperty user age enumerable false for let key in user console log key name löschen und ändern von eigenschaften verhindern um sicherzustellen dass eine eigenschaft ein fester bestandteil eines object bleibt setzen sie das configurable flag auf false javascript editable run let user name john object defineproperty user name configurable false delete user name the deletion will be ignored console log user name john eine eigenschaft als nicht konfigurierbar zu markieren ist eine unumkehrbare operation es gibt kein flag um sie wieder konfigurierbar zu machen und man kann enumerable nicht mehr umschalten oder die eigenschaft zwischen einem data und einem accessor descriptor wechseln es gibt jedoch zwei wichtige ausnahmen solange eine eigenschaft nicht konfigurierbar ist das writable flag darf von true auf false geändert werden aber nicht zurück von false auf true wenn die eigenschaft noch writable true ist kann ihr value geändert werden entweder durch direkte zuweisung oder über object defineproperty mit anderen worten configurable false sperrt die form der eigenschaft nicht zwingend ihren wert um den wert einer eigenschaft wirklich einzufrieren setzen sie sowohl configurable false als auch writable false javascript editable run let user object defineproperty user role value admin writable true configurable false user role editor allowed configurable false but writable true console log user role editor object defineproperty user role writable false allowed true false user role viewer now ignored non strict console log user role editor übergeordnete apis auf basis dieser flags flags müssen selten für jede eigenschaft einzeln gesetzt werden javascript bietet drei eingebaute methoden die diese flags für ein gesamtes object umschalten object preventextensions obj verhindert dass neue eigenschaften hinzugefügt werden bestehende eigenschaften können weiterhin geändert oder gelöscht werden object seal obj verhindert das hinzufügen und löschen von eigenschaften indem jede bestehende eigenschaft als configurable false markiert wird werte können sich noch ändern object freeze obj am restriktivsten versiegelt das object und macht jede eigenschaft writable false sodass nichts hinzugefügt entfernt oder geändert werden kann jede methode hat eine entsprechende prüffunktion object isextensible object issealed und object isfrozen beachten sie dass diese methoden nur eine ebene tief wirken object freeze friert keine verschachtelten objects ein es handelt sich um ein flaches einfrieren javascript editable run let user object freeze name john age 30 user age 31 ignored non strict typeerror strict user city ny ignored no new properties delete user name ignored console log user name john age 30 console log object isfrozen user true fazit property flags und descriptors geben ihnen präzise kontrolle darüber wie sich object eigenschaften verhalten ein data descriptor kombiniert einen value mit writable ein accessor descriptor verwendet stattdessen get set funktionen beide teilen enumerable und configurable flags werden mit object getownpropertydescriptor eine eigenschaft oder object getownpropertydescriptors alle eigenen eigenschaften gelesen geschrieben werden sie mit object defineproperty oder object defineproperties geerbte und fehlende eigenschaften geben undefined zurück configurable false ist unumkehrbar und sperrt die form der eigenschaft allerdings kann eine noch writable eigenschaft ihren wert ändern und ihr writable flag auf false setzen ein verstoß gegen ein flag schlägt im non strict modus lautlos fehl wirft jedoch im strict mode einen typeerror greifen sie auf object freeze object seal und object preventextensions zurück wenn sie ein gesamtes object statt einzelner flags sperren möchten nächste schritte tauchen sie ein in property...
|