Вебтехнології для розробників
- CSS Tutorials
- How to
- CSS guides
- Firefox (-moz-) vendor-prefixed CSS extensions
- WebKit (-webkit-) vendor-prefixed CSS extensions
- CSS selectors
- CSS at-rules
- CSS values
- CSS properties
- HTML guides
- How to
- HTML reference
- JavaScript data types and data structures
- Control flow and error handling
- Closures
- Equality comparisons and sameness
- Enumerability and ownership of properties
- Internationalization
- Keyed collections
- Introduction
- Inheritance and the prototype chain
- JavaScript language overview
- Memory management
- Meta programming
- Numbers and strings
- JavaScript resource management
- Representing dates & times
- JavaScript typed arrays
- Character classes
- Iterators and generators
- Assertions
- Groups and backreferences
- Quantifiers
- Deprecated and obsolete features
- JavaScript technologies overview
- JavaScript execution model
- Trailing commas
- Private elements
- constructor
- extends
- Public class fields
- Static initialization blocks
- static
- TypeError: already executing generator
- Warning: -file- is being assigned a //# sourceMappingURL, but already has one
- SyntaxError: arguments is not valid in fields
- TypeError: invalid Array.prototype.sort argument
- SyntaxError: await/yield expression can\'t be used in parameter
- SyntaxError: await is only valid in async functions, async generators and modules
- SyntaxError: continue must be inside loop
- SyntaxError: unlabeled break must be inside loop or switch
- SyntaxError: new keyword cannot be used with an optional chain
- SyntaxError: invalid regular expression flag "x"
- SyntaxError: tagged template cannot be used with optional chain
- RangeError: radix must be an integer
- RangeError: BigInt division by zero
- SyntaxError: \'arguments\'/\'eval\' can\'t be defined or assigned to in strict mode code
- SyntaxError: return not in function
- SyntaxError: super() is only valid in derived class constructors
- SyntaxError: use of super property/member accesses only valid within methods or eval code within methods
- TypeError: BigInt value can\'t be serialized in JSON
- RangeError: BigInt negative exponent
- TypeError: X.prototype.y called on incompatible type
- TypeError: calling a builtin X constructor without new is forbidden
- ReferenceError: can\'t access lexical declaration \'X\' before initialization
- RangeError: x can\'t be converted to BigInt because it isn\'t an integer
- TypeError: can\'t assign to property "x" on "y": not an object
- TypeError: can\'t convert BigInt to number
- SyntaxError: private fields can\'t be deleted
- TypeError: can\'t convert x to BigInt
- TypeError: property "x" is non-configurable and can\'t be deleted
- TypeError: can\'t define property "x": "obj" is not extensible
- TypeError: can\'t set prototype of this object
- TypeError: can\'t redefine non-configurable property "x"
- TypeError: class constructors must be invoked with \'new\'
- TypeError: cyclic object value
- TypeError: Iterator/AsyncIterator constructor can\'t be used directly
- SyntaxError: cannot use ?? unparenthesized within || and && expressions
- TypeError: can\'t set prototype: it would cause a prototype chain cycle
- SyntaxError: applying the \'delete\' operator to an unqualified name is deprecated
- TypeError: \'caller\', \'callee\', and \'arguments\' properties may not be accessed
- SyntaxError: "0"-prefixed octal literals are deprecated
- SyntaxError: Using //@ to indicate sourceURL pragmas is deprecated. Use //# instead
- SyntaxError: octal escape sequences can\'t be used in untagged template literals or in strict mode code
- SyntaxError: property name __proto__ appears more than once in object literal
- SyntaxError: duplicate formal argument x
- RangeError: form must be one of \'NFC\', \'NFD\', \'NFKC\', or \'NFKD\'
- SyntaxError: getter and setter for private name #x should either be both static or non-static
- SyntaxError: functions cannot be labelled
- TypeError: can\'t access/set private field or method: object is not the right class
- TypeError: setting getter-only property "x"
- SyntaxError: getter functions must have no arguments
- SyntaxError: Unexpected \'#\' used outside of class body
- SyntaxError: identifier starts immediately after numeric literal
- SyntaxError: illegal character
- SyntaxError: import declarations may only appear at top level of a module
- TypeError: cannot use \'in\' operator to search for \'x\' in \'y\'
- RangeError: invalid array length
- SyntaxError: invalid BigInt syntax
- SyntaxError: invalid assignment left-hand side
- TypeError: invalid assignment to const "x"
- RangeError: invalid date
- TypeError: derived class constructor returned invalid value x
- SyntaxError: a declaration in the head of a for-of loop can\'t have an initializer
- SyntaxError: for-in loop head declarations may not have initializers
- TypeError: invalid \'instanceof\' operand \'x\'
- TypeError: \'x\' is not iterable
- TypeError: WeakSet key/WeakMap value \'x\' must be an object or an unregistered symbol
- SyntaxError: JSON.parse: bad parsing
- SyntaxError: label not found
- URIError: malformed URI sequence
- SyntaxError: missing ] after element list
- SyntaxError: missing : after property id
- SyntaxError: missing } after function body
- SyntaxError: missing } after property list
- SyntaxError: missing formal parameter
- SyntaxError: missing = in const declaration
- SyntaxError: missing ) after argument list
- SyntaxError: missing ) after condition
- SyntaxError: missing name after . operator
- TypeError: "x" is not a non-null object
- TypeError: More arguments needed
- RangeError: repeat count must be non-negative
- SyntaxError: missing variable name
- TypeError: "x" is not a constructor
- TypeError: can\'t delete non-configurable array element
- TypeError: "x" is not a function
- RangeError: argument is not a valid code point
- TypeError: null/undefined has no properties
- SyntaxError: parameter after rest parameter
- TypeError: getting private setter-only property
- TypeError: Initializing an object twice is an error with private fields/methods
- AggregateError: No Promise in Promise.any was resolved
- Error: Permission denied to access property "x"
- RangeError: precision is out of range
- SyntaxError: redeclaration of formal parameter "x"
- TypeError: Reduce of empty array with no initial value
- TypeError: "x" is read-only
- SyntaxError: \ at end of pattern
- SyntaxError: character class escape cannot be used in class range in regular expression
- SyntaxError: duplicate capture group name in regular expression
- SyntaxError: incomplete quantifier in regular expression
- SyntaxError: invalid class set operation in regular expression
- SyntaxError: invalid capture group name in regular expression
- SyntaxError: invalid character in class in regular expression
- SyntaxError: invalid decimal escape in regular expression
- SyntaxError: invalid regexp group
- SyntaxError: invalid named capture reference in regular expression
- SyntaxError: invalid identity escape in regular expression
- SyntaxError: invalid property name in regular expression
- SyntaxError: invalid range in character class
- SyntaxError: invalid unicode escape in regular expression
- SyntaxError: nothing to repeat
- SyntaxError: numbers out of order in {} quantifier.
- SyntaxError: negated character class with strings in regular expression
- SyntaxError: raw bracket is not allowed in regular expression with unicode flag
- TypeError: matchAll/replaceAll must be called with a global RegExp
- SyntaxError: rest parameter may not have a default
- SyntaxError: "x" is a reserved identifier
- RangeError: repeat count must be less than infinity
- SyntaxError: setter functions must have one argument
- Warning: unreachable code after return statement
- SyntaxError: string literal contains an unescaped line break
- SyntaxError: "use strict" not allowed in function with non-simple parameters
- ReferenceError: super() called twice in derived class constructor
- ReferenceError: must call super constructor before using \'this\' in derived class constructor
- InternalError: too much recursion
- SyntaxError: reference to undeclared private field or method #x
- SyntaxError: Unexpected token
- ReferenceError: assignment to undeclared variable "x"
- SyntaxError: function statement requires a name
- TypeError: "x" is (not) "y"
- SyntaxError: unparenthesized unary expression can\'t appear on the left-hand side of \'**\'
- Disjunction: |
- Input boundary assertion: ^, $
- Lookahead assertion: (?=...), (?!...)
- Lookbehind assertion: (?<=...), (?<!...)
- Modifier: (?ims-ims:...)
- Named capturing group: (?<name>...)
- Named backreference: \k<name>
- Non-capturing group: (?:...)
- Unicode character class escape: \p{...}, \P{...}
- Quantifier: *, +, ?, {n}, {n,}, {n,m}
- Wildcard: .
- Word boundary assertion: \b, \B
- Literal character: a, b
- get
- Method definitions
- Rest parameters
- set
- arguments.callee
- arguments.length
- arguments[Symbol.iterator]()
- Addition (+)
- Addition assignment (+=)
- async function* expression
- async function expression
- Assignment (=)
- Bitwise AND (&)
- Bitwise AND assignment (&=)
- Bitwise NOT (~)
- Bitwise OR (|)
- Bitwise XOR assignment (^=)
- Bitwise OR assignment (|=)
- Bitwise XOR (^)
- class expression
- Comma operator (,)
- Division (/)
- Decrement (--)
- Destructuring
- Division assignment (/=)
- Exponentiation (**)
- Exponentiation assignment (**=)
- Equality (==)
- function* expression
- Greater than (>)
- Grouping operator ( )
- Greater than or equal (>=)
- import()
- instanceof
- Increment (++)
- in
- Inequality (!=)
- Left shift assignment (<<=)
- Left shift (<<)
- Less than or equal (<=)
- Less than (<)
- Logical NOT (!)
- Logical AND assignment (&&=)
- Multiplication (*)
- Logical OR assignment (||=)
- Multiplication assignment (*=)
- new.target
- Nullish coalescing assignment (??=)
- Operator precedence
- Remainder assignment (%=)
- Remainder (%)
- Right shift (>>)
- Right shift assignment (>>=)
- Strict equality (===)
- Strict inequality (!==)
- Subtraction (-)
- Subtraction assignment (-=)
- super
- Unary negation (-)
- Unary plus (+)
- Unsigned right shift (>>>)
- Unsigned right shift assignment (>>>=)
- yield
- yield*
- void operator
- import.meta
- async function*
- Block statement
- await using
- break
- class
- debugger
- continue
- do...while
- export
- Empty statement
- Expression statement
- for await...of
- for
- function
- function*
- Labeled statement
- throw
- return
- using
- while
- with
- Import attributes
- decodeURI()
- decodeURIComponent()
- encodeURI()
- escape()
- eval()
- globalThis
- isFinite()
- parseFloat()
- unescape()
- AggregateError
- ArrayBuffer() constructor
- ArrayBuffer.prototype.byteLength
- ArrayBuffer.isView()
- ArrayBuffer.prototype.maxByteLength
- ArrayBuffer.prototype.resize()
- ArrayBuffer.prototype.resizable
- ArrayBuffer[Symbol.species]
- ArrayBuffer.prototype.slice()
- ArrayBuffer.prototype.transfer()
- ArrayBuffer.prototype.transferToFixedLength()
- AsyncDisposableStack
- AsyncFunction
- Array() constructor
- Array.prototype.copyWithin()
- Array.prototype.entries()
- Array.prototype.fill()
- Array.prototype.findLast()
- Array.prototype.findLastIndex()
- Array.fromAsync()
- Array.prototype.keys()
- Array.prototype.lastIndexOf()
- Array.of()
- Array.prototype.reduceRight()
- Array.prototype.toLocaleString()
- Array.prototype[Symbol.iterator]()
- Array[Symbol.species]
- Array.prototype.toReversed()
- Array.prototype.toSpliced()
- Array.prototype.toSorted()
- Array.prototype.values()
- Array.prototype[Symbol.unscopables]
- Array.prototype.with()
- AsyncGenerator.prototype.return()
- AsyncGenerator
- AsyncGeneratorFunction
- Atomics
- AsyncIterator.prototype[Symbol.asyncIterator]()
- AsyncIterator
- BigInt64Array
- BigUint64Array
- BigInt.asIntN()
- BigInt() constructor
- BigInt.asUintN()
- BigInt.prototype.toString()
- BigInt.prototype.valueOf()
- BigInt.prototype.toLocaleString()
- Boolean() constructor
- Boolean.prototype.toString()
- Boolean.prototype.valueOf()
- DataView
- Date.prototype.getDay()
- Date.prototype.getFullYear()
- Date.prototype.getDate()
- Date.prototype.getHours()
- Date.prototype.getMilliseconds()
- Date.prototype.getMinutes()
- Date.prototype.getTime()
- Date.prototype.getMonth()
- Date.prototype.getSeconds()
- Date.prototype.getTimezoneOffset()
- Date.prototype.getUTCDate()
- Date.prototype.getUTCDay()
- Date.prototype.getUTCFullYear()
- Date.prototype.getUTCHours()
- Date.prototype.getUTCMilliseconds()
- Date.prototype.getUTCMonth()
- Date.prototype.getUTCMinutes()
- Date.prototype.getYear()
- Date.prototype.getUTCSeconds()
- Date.prototype.setDate()
- Date.prototype.setFullYear()
- Date.prototype.setHours()
- Date.prototype.setMinutes()
- Date.prototype.setSeconds()
- Date.prototype.setTime()
- Date.prototype.setMilliseconds()
- Date.prototype.setMonth()
- Date.prototype.setUTCDate()
- Date.prototype.setUTCFullYear()
- Date.prototype.setUTCMinutes()
- Date.prototype.setUTCHours()
- Date.prototype.setUTCMilliseconds()
- Date.prototype.setUTCSeconds()
- Date.prototype.setUTCMonth()
- Date.prototype[Symbol.toPrimitive]()
- Date.prototype.setYear()
- Date.prototype.toDateString()
- Date.prototype.toJSON()
- Date.prototype.toLocaleTimeString()
- Date.prototype.toString()
- Date.prototype.toTemporalInstant()
- Date.prototype.toTimeString()
- Date.UTC()
- Date.prototype.toUTCString()
- Date.prototype.valueOf()
- DisposableStack
- Error.captureStackTrace()
- Error: columnNumber
- Error: cause
- Error: fileName
- Error.isError()
- Error() constructor
- Error: lineNumber
- Error: message
- Error.prototype.name
- Error.prototype.stack
- Error.stackTraceLimit
- Error.prototype.toString()
- EvalError() constructor
- EvalError
- FinalizationRegistry
- Float16Array
- Float64Array
- Float32Array
- GeneratorFunction() constructor
- GeneratorFunction
- Function.prototype.bind()
- Function.prototype.arguments
- Function.prototype.call()
- Function.prototype.caller
- Function() constructor
- Function: displayName
- Function.prototype.apply()
- Function: length
- Function: name
- Function: prototype
- Function.prototype.toString()
- Function.prototype[Symbol.hasInstance]()
- Int16Array
- Int32Array
- Generator
- Int8Array
- InternalError
- JSON.rawJSON()
- JSON.isRawJSON()
- Iterator.concat()
- Iterator.prototype.drop()
- Iterator
- Map.prototype.clear()
- Map.prototype.forEach()
- Map.prototype.get()
- Map.prototype.delete()
- Map.prototype.entries()
- Map.groupBy()
- Map.prototype.getOrInsertComputed()
- Map.prototype.has()
- Map.prototype.getOrInsert()
- Map.prototype.set()
- Map.prototype.keys()
- Map.prototype[Symbol.iterator]()
- Map.prototype.size
- Map[Symbol.species]
- Map.prototype.values()
- Map() constructor
- Math.f16round()
- Math.sumPrecise()
- Object.prototype.__defineGetter__()
- Object.prototype.__defineSetter__()
- Object.prototype.__lookupGetter__()
- Object.prototype.__lookupSetter__()
- Object.defineProperties()
- Object.getOwnPropertyDescriptor()
- Object.getOwnPropertyDescriptors()
- Object.getPrototypeOf()
- Object.getOwnPropertySymbols()
- Object.groupBy()
- Object.isFrozen()
- Object.isExtensible()
- Object.prototype.isPrototypeOf()
- Object.isSealed()
- Object() constructor
- Object.preventExtensions()
- Object.prototype.propertyIsEnumerable()
- Object.seal()
- Object.prototype.__proto__
- Object.setPrototypeOf()
- Object.prototype.toLocaleString()
- Number.EPSILON
- Number.isFinite()
- Number.isInteger()
- Number.isSafeInteger()
- Number.isNaN()
- Number.MAX_SAFE_INTEGER
- Number.MAX_VALUE
- Number.MIN_SAFE_INTEGER
- Number.MIN_VALUE
- Number.NEGATIVE_INFINITY
- Number.NaN
- Number.parseInt()
- Number() constructor
- Number.parseFloat()
- Number.prototype.toExponential()
- Number.prototype.toFixed()
- Number.prototype.toPrecision()
- Number.prototype.toLocaleString()
- Number.prototype.toString()
- Number.prototype.valueOf()
- Number.POSITIVE_INFINITY
- Promise.allSettled()
- Promise.any()
- Promise.prototype.catch()
- Promise.prototype.finally()
- Promise.reject()
- Promise.race()
- Promise[Symbol.species]
- Promise.try()
- RangeError
- ReferenceError
- Reflect
- SharedArrayBuffer.prototype.grow()
- SharedArrayBuffer
- RegExp.prototype.compile()
- RegExp.prototype.dotAll
- RegExp.escape()
- RegExp.prototype.hasIndices
- RegExp.prototype.flags
- RegExp.prototype.ignoreCase
- RegExp.input ($_)
- RegExp.prototype.global
- RegExp.lastParen ($+)
- RegExp.lastMatch ({{ListSubpages("", 1, 0, 1)}}amp;)
- RegExp.leftContext ($\`)
- RegExp.prototype.multiline
- RegExp.$1, …, RegExp.$9
- RegExp() constructor
- RegExp.rightContext ($\')
- RegExp.prototype.source
- RegExp.prototype[Symbol.match]()
- RegExp.prototype.sticky
- RegExp.prototype[Symbol.matchAll]()
- RegExp.prototype[Symbol.replace]()
- RegExp.prototype[Symbol.search]()
- RegExp.prototype[Symbol.split]()
- RegExp[Symbol.species]
- RegExp.prototype.toString()
- RegExp.prototype.unicodeSets
- RegExp.prototype.unicode
- Set.prototype.add()
- Set.prototype.clear()
- Set.prototype.delete()
- Set.prototype.forEach()
- Set.prototype.entries()
- Set.prototype.has()
- Set() constructor
- Set.prototype.keys()
- Set.prototype.size
- Set.prototype[Symbol.iterator]()
- Set[Symbol.species]
- Set.prototype.values()
- SuppressedError
- String.prototype.isWellFormed()
- String.prototype.toWellFormed()
- SyntaxError
- Symbol.asyncDispose
- Symbol.asyncIterator
- Symbol.prototype.description
- Symbol.dispose
- Symbol.for()
- Symbol.hasInstance
- Symbol.isConcatSpreadable
- Symbol.match
- Symbol.keyFor()
- Symbol.iterator
- Symbol.matchAll
- Symbol.replace
- Symbol.search
- Symbol.species
- Symbol() constructor
- Symbol.split
- Symbol.prototype[Symbol.toPrimitive]()
- Symbol.toPrimitive
- Symbol.prototype.toString()
- Symbol.unscopables
- Symbol.toStringTag
- Symbol.prototype.valueOf()
- TypeError() constructor
- Uint16Array
- Uint32Array
- Uint8Array
- TypedArray
- Uint8ClampedArray
- URIError
- WeakMap
- WeakRef
- WeakSet
- Proxy.revocable()
- Proxy() constructor
- Temporal
- Intl.getCanonicalLocales()
- Intl.Collator
- Intl.supportedValuesOf()
- Intl.DateTimeFormat
- Intl.DisplayNames
- Intl.DurationFormat
- Intl.ListFormat.prototype.format()
- Intl.ListFormat
- Intl.Locale
- Intl.NumberFormat.prototype.format()
- Intl.NumberFormat.prototype.formatRange()
- Intl.NumberFormat.prototype.formatRangeToParts()
- Intl.NumberFormat.prototype.formatToParts()
- Intl.NumberFormat() constructor
- Intl.NumberFormat.prototype.resolvedOptions()
- Intl.NumberFormat.supportedLocalesOf()
- Intl.PluralRules
- Intl.RelativeTimeFormat
- Intl.Segmenter
- SVG guides
- SVG tutorials
- SVG reference
- Array.prototype.toString()
- CSS – Каскадні списки стилів
- Регулярні вирази
- Протоколи ітерування
- Суворий режим
- Шаблонні літерали (Шаблонні рядки)
- Лексична граматика
- Довідка помилок JavaScript
- Регулярні вирази
- Функції
- Вирази та оператори
- Інструкції та оголошення
- Стандартні вбудовані об\'єкти
- SVG: масштабована векторна графіка
- Вирази та оператори
- Використання промісів
- Довідник з JavaScript
- Граматика та типи
- Модулі JavaScript
- Робота з об\'єктами
- JavaScript
- HTML – мова розмітки гіпертексту
Відкритий веб надає дивовижні можливості для розробників. Щоб скористатися усіма перевагами цих технологій, потрібно розуміти, як їх застосовувати. Нижче наведено посилання на документацію про різні вебтехнології.
Документація для веброзробників
- Посібник веброзробника
Посібник веброзробника пропонує корисні матеріали, які допоможуть вам використовувати вебтехнології для виконання того, що ви хочете або повинні зробити.
- Підручники для веброзробників
Набір підручників, які крок за кроком проведуть вас через вивчення HTML, CSS, JavaScript й API Вебу.
- Доступність
Про те, як зробити використання вебсайтів можливим для якомога більшої кількості людей, навіть якщо можливості цих людей певним чином обмежено.
- Ефективність
Про те, як зробити вміст якомога доступнішим та інтерактивнішим, якомога швидше.
- Безпека
Захист користувачів від витоку даних та крадіжки даних, атак сторонніми каналами, а також міжсайтового програмування, ін'єкцій вмісту та перехоплення клацань.
Довідник з вебтехнологій
- API Вебу
API програмування на JavaScript, які можна використовувати для створення застосунків у Вебі.
- HTML
HTML надає основні (базові) цеглини для структурування вебдокументів та вебзастосунків.
- CSS
Каскадні списки стилів використовуються для опису зовнішнього вигляду вебдокументів та вебзастосунків.
- JavaScript
JavaScript – це рідна мова програмування Вебу.
- WebAssembly
WebAssembly дає змогу програмам, написаним на C, C++, Rust, Swift, C#, Go та інших мовах, працювати у Вебі.
- Події
Події – це те, для реагування на що створюються вебзастосунки; наприклад, коли вебсторінка завершує своє завантаження, або коли користувач щось обирає, натискає клавішу, змінює розмір вікна, подає форму чи призупиняє відео.
- HTTP
HTTP – це фундаментальний протокол Інтернету для отримання документів, списків стилів, сценаріїв, зображень, відео, шрифтів та інших ресурсів крізь Веб – а також для надсилання даних назад на вебсервери.
- Медіа
Формати, кодеки, протоколи, API та техніки для вбудування та потокового відтворення відео, аудіо та зображень у вебдокументах і вебзастосунках.
- SVG
Масштабовна векторна графіка дає змогу описувати зображення, що плавно масштабуються до будь-якого розміру.
- MathML
MathML дає змогу показувати складні математичні формули у Вебі.
- Вебкомпоненти
Вебкомпоненти – це елементи, які можна самотужки визначити та багаторазово використовувати у вебзастосунках.
- WebDriver
WebDriver – це механізм автоматизації браузерів для віддаленого керування браузером шляхом імітування дій справжньої людини, що ним користується. Широко використовується для тестування вебзастосунків у різних браузерах.
- Веброзширення
Веброзширення – спосіб надати користувачам у їхніх браузерах розширені можливості, наприклад, блокування реклами та іншого вмісту, налаштування вигляду сторінок та інше.
- Декларації вебзастосунків
Декларації вебзастосунків дають користувачам змогу встановлювати вебзастосунки на домашні екрани своїх пристроїв, з наперед визначеними аспектами штибу вертикального чи горизонтального орієнтування екрана, режиму відображення (наприклад, повноекранного) тощо.
- Поступові вебзастосунки (PWA)
Поступові вебзастосунки пропонують користувацький досвід, подібний до нативних мобільних застосунків.
Документація інструментів розробника
- Інструменти розробника Firefox
Документація набору інструментів розробника, вбудованого в Firefox.
- Chrome DevTools
Документація набору інструментів розробника, вбудованого в Chrome.
- Вебінспектор Safari
Документація набору інструментів веброзробника, вбудованого в Safari.
- Edge DevTools
Документація набору інструментів веброзробника, вбудованого в Edge.