Professional JavaScript for Web Developers. 5 Ed

Оглавление⌄
Cover PageTitle PageCopyright PageContentsForewordIntroductionWho This Book is ForWhat This Book CoversHow This Book is StructuredWhat You Need To Use This BookChapter 1 What Is JavaScript?A Short HistoryJavascript ImplementationsECMAScriptThe Document Object ModelThe Browser Object ModelSummaryChapter 2 JavaScript in HTMLThe <Script> ElementTag PlacementDeferred ScriptsAsynchronous ScriptsDynamic Script LoadingInline Code Versus External FilesDocument ModesThe <NOSCRIPT> ElementSummaryChapter 3 Language BasicsSyntaxCase-SensitivityIdentifiersCommentsStrict ModeStatementsKeywords and Reserved WordsVariablesThe var Keywordlet Declarationsconst DeclarationsDeclaration Styles and Best PracticesData TypesThe typeof OperatorThe Undefined TypeThe Null TypeThe Boolean TypeThe Number TypeThe BigInt TypeThe String TypeThe Symbol TypeThe Object TypeOperatorsUnary OperatorsBitwise OperatorsBoolean OperatorsMultiplicative OperatorsExponentiation OperatorAdditive OperatorsRelational OperatorsEquality OperatorsConditional OperatorNullish Coalescing OperatorAssignment OperatorsComma OperatorStatementsThe if StatementThe do-while StatementThe while StatementThe for StatementThe for-in StatementThe for-of StatementLabeled StatementsThe break and continue StatementsThe with StatementThe switch StatementFunctionsSummaryChapter 4 Variables, Scope, and MemoryPrimitive and Reference ValuesDynamic PropertiesCopying ValuesArgument PassingDetermining TypeExecution Context and ScopeScope Chain AugmentationVariable DeclarationGarbage CollectionPerformanceManaging MemorySummaryChapter 5 Basic Reference TypesThe Date TypeInherited MethodsDate-Formatting MethodsDate/Time Component MethodsThe Regexp TypeRegExp Instance PropertiesRegExp Instance MethodsPrimitive Wrapper TypesThe Boolean TypeThe Number TypeThe String TypeSingleton Built-In ObjectsThe Global ObjectThe Math ObjectSummaryChapter 6 Advanced Reference TypesThe Object TypeThe Array TypeCreating ArraysArray HolesIndexing into ArraysDetecting ArraysIterator MethodsCopy and Fill MethodsSpread OperatorRest OperatorConversion MethodsStack MethodsQueue MethodsReordering and Sorting MethodsManipulation MethodsSearch and Location MethodsIterative MethodsReduction MethodsFlattening MethodsTyped ArraysHistoryUsing ArrayBuffersDataViewsTyped ArraysThe Map TypeBasic APIOrder and IterationChoosing Between Objects and MapsThe Set TypeBasic APIOrder and IterationWeak ReferencesWeakRefFinalizationRegistryThe Weakmap TypeBasic APIWeak KeysNon-Iterable KeysUtilityThe Weakset TypeBasic APIWeak KeysNon-Iterable ValuesUtilityIteration and Spread OperatorsSummaryChapter 7 Iterators and GeneratorsIntroduction to IterationThe Iterator PatternThe Iterable ProtocolThe Iterator ProtocolCustom Iterator DefinitionEarly Termination of IteratorsGeneratorsGenerator BasicsInterrupting Execution with yieldUsing a Generator as the Default IteratorEarly Termination of GeneratorsAsynchronous IterationCreating and Using an Async IteratorUnderstanding the Async Iterator QueueAsync Iterator reject() HandlingManual Async Iteration Using next()Top-Level Async LoopsImplementing ObservablesSummaryChapter 8 Objects, Classes, and Object-Oriented ProgrammingUnderstanding ObjectsTypes of PropertiesAccessing Object PropertiesChaining PropertiesObject Static MethodsControlling Object MutabilityDefining Multiple PropertiesReading Property AttributesMerging ObjectsObject Identity and EqualityEnhanced Object SyntaxObject DestructuringRest OperatorSpread OperatorObject CreationOverviewThe Function Constructor PatternThe Prototype PatternPrototype InheritanceClassesClass Definition BasicsClass CompositionThe Class ConstructorInstance, Prototype, and Class MembersClass InheritanceSummaryChapter 9 Proxies and ReflectProxy FundamentalsCreating a Passthrough ProxyDefining TrapsTrap Parameters and the Reflect APITrap InvariantsRevocable ProxiesUtility of the Reflect APIProxying a ProxyProxy Considerations and ShortcomingsProxy Traps and Reflect Methodsget()set()has()defineProperty()getOwnPropertyDescriptor()deleteProperty()ownKeys()getPrototypeOf()setPrototypeOf()isExtensible()preventExtensions()apply()construct()Proxy PatternsTracking Property AccessHidden PropertiesProperty ValidationFunction and Constructor Parameter ValidationData Binding and ObservablesSummaryChapter 10 FunctionsArrow FunctionsFunction NamesUnderstanding ArgumentsArguments in Arrow FunctionsNo OverloadingDefault Parameter ValuesDefault Parameter Scope and Temporal Dead ZoneSpread Arguments and Rest ParametersSpread ArgumentsRest ParameterFunction Declarations Versus Function ExpressionsFunctions as ValuesFunction Internalsargumentsthiscallernew.targetFunction Properties and MethodsUsing apply(), call(), and bind()Serializing FunctionsRecursionTail Call OptimizationTail Call Optimization RequirementsCoding for Tail Call OptimizationClosuresThe this ObjectMemory LeaksImmediately Invoked Function ExpressionsSummaryChapter 11 Promises and Async/AwaitIntroduction to Asynchronous ProgrammingSynchronous vs. Asynchronous JavaScriptLegacy Asynchronous Programming PatternsPromisesThe Promises/A+ SpecificationPromise BasicsPromise Instance MethodsRejecting Promises and Rejection Error HandlingPromise Chaining and CompositionAvoiding Unhandled RejectionsPromise ExtensionsAsync FunctionsAsync Function BasicsStrategies for Async FunctionsSummaryChapter 12 The Browser Object ModelThe Window ObjectThe Global ScopeThe globalThis propertyWindow RelationshipsWindow Position and Pixel RatioWindow SizeWindow Viewport PositionNavigating and Opening WindowsIntervals and TimeoutsSystem DialogsThe Location ObjectManipulating the LocationThe Navigator ObjectRegistering HandlersThe Screen ObjectThe History ObjectNavigationHistory State ManagementSummaryChapter 13 The Document Object ModelHierarchy of NodesThe Node TypeThe Document TypeThe Element TypeThe Text TypeThe Comment TypeThe CDATASection TypeThe DocumentType TypeThe DocumentFragment TypeThe Attr TypeWorking with The DomDynamic ScriptsDynamic StylesUsing NodeListsSelectors APIThe querySelector() MethodThe querySelectorAll() MethodThe matches() MethodElement TraversalHTML5Class-Related AdditionsFocus ManagementChanges to HTMLDocumentCharacter Set PropertiesCustom Data AttributesMarkup InsertionThe scrollIntoView() MethodThe children PropertyThe contains() MethodMarkup InsertionSummaryChapter 14 DOM ExtensionsStylesAccessing Element StylesWorking with Style SheetsElement DimensionsTraversalsNodeIteratorTreeWalkerRangesRanges in the DOMSimple Selection in DOM RangesComplex Selection in DOM RangesInteracting with DOM Range ContentInserting DOM Range ContentCollapsing a DOM RangeComparing DOM RangesCloning DOM RangesCleanupObserver APIsObserver API MethodsResize ObserversIntersection ObserversMutation ObserversObserver PerformanceSummaryChapter 15 EventsEvent FlowEvent BubblingDOM Event FlowEvent HandlersHTML Event HandlersDOM Level 0 Event HandlersDOM Level 2 Event HandlersThe Event ObjectThe DOM Event ObjectEvent TypesUI EventsFocus EventsMouse and Wheel EventsKeyboard and Text EventsComposition EventsMutation EventsHTML5 EventsDevice EventsTouch and Gesture EventsEvent ReferenceMemory and PerformanceEvent DelegationRemoving Event HandlersSimulating EventsDOM Event SimulationSummaryChapter 16 Animation and Graphics with CanvasUsing RequestanimationframeEarly Animation LoopsProblems with IntervalsrequestAnimationFramecancelAnimationFramePerformance Throttling with requestAnimationFrameBasic Canvas UsageThe 2D ContextFills and StrokesDrawing RectanglesDrawing PathsDrawing TextTransformationsDrawing ImagesShadowsGradientsPatternsWorking with Image DataCompositingWebGLThe WebGL ContextWebGL BasicsWebGL1 versus WebGL2SummaryChapter 17 Scripting FormsForm BasicsSubmitting FormsResetting FormsForm FieldsScripting Text BoxesText SelectionInput FilteringHTML5 Constraint Validation APIScripting Select BoxesOptions SelectionAdding OptionsRemoving OptionsMoving and Reordering OptionsRich Text EditingUsing contenteditableInteracting with Rich TextRich Text SelectionsRich Text in FormsSummaryChapter 18 JavaScript APIsAtomics and SharedArraybufferSharedArrayBufferAtomics BasicsClipboard APIPermissionsText Read and WriteClipboard EventsWorking with Non-Text DataCross-Context MessagingEncoding APIEncoding TextDecoding TextBlob And File APIsThe File TypeThe FileReader TypeThe FileReaderSync TypeBlobs and Partial ReadsObject URLs and BlobsDrag-and-Drop File ReadingFullscreen APIGeolocation APIDevice APIsBrowser and Operating System IdentificationHardwareMedia ElementsPropertiesEventsCustom Media PlayersCodec Support DetectionThe Audio TypeNotifications APINotification PermissionsShowing and Hiding NotificationNotification Lifecycle CallbacksPage Visibility APIStreams APIIntroduction to StreamsReadable StreamsWritable StreamsTransform StreamsPiping StreamsURL APIsThe URL ObjectThe URLSearchParams ObjectTiming APIsHigh Resolution Time APIPerformance Timeline APIWeb ComponentsHTML TemplatesShadow DOMCustom ElementsThe Web Cryptography APIRandom Number GenerationUsing the SubtleCrypto ObjectSummaryChapter 19 Error Handling and DebuggingBrowser Error ReportingDesktop ConsolesMobile ConsolesError HandlingThe try-catch StatementThrowing ErrorsThe error EventError Handling StrategiesIdentifying Where Errors Might OccurCommon Sources of ErrorDistinguishing Between Fatal and Nonfatal ErrorsDebugging TechniquesLogging Messages to a ConsoleUnderstanding the Console RuntimeUsing the JavaScript DebuggerLogging Messages to the PageShimming Console MethodsThrowing ErrorsSummaryChapter 20 JSONSyntaxSimple ValuesObjectsArraysParsing and SerializationThe JSON ObjectSerialization OptionsParsing OptionsSummaryChapter 21 Network Requests and Remote ResourcesThe Fetch ApiBasic API UtilizationCommon Fetch PatternsThe Headers ObjectThe Request ObjectThe Response ObjectRequests, Responses, and the Body MixinCross-Origin Resource SharingPreflighted RequestsCredentialed RequestsThe Beacon APIWeb SocketsThe APISending/Receiving DataOther EventsThe Eventsource APISummaryChapter 22 Client-Side StorageCookiesRestrictionsCookie PartsCookies in JavaScriptCookie ConsiderationsWeb StorageThe Storage TypeThe sessionStorage ObjectThe localStorage ObjectThe storage EventLimits and RestrictionsIndexedDBDatabasesObject StoresTransactionsInsertionQuerying with CursorsKey RangesSetting Cursor DirectionIndexesConcurrency IssuesLimits and RestrictionsWrapper LibrariesSummaryChapter 23 ModulesUnderstanding The Module PatternModule IdentifiersModule DependenciesModule LoadingEntry PointsAsynchronous DependenciesProgrammatic DependenciesStatic AnalysisCircular DependenciesWorking with Pre-ES6 Module LoadersCommonJSAsynchronous Module DefinitionUniversal Module DefinitionModule Loader DeprecationWorking with ECMAScript ModulesModule Tagging and DefinitionModule LoadingModule BehaviorModule ExportsModule ImportsImport MetadataDynamic ImportsModule Side EffectsModule Passthrough ExportsImport MapsWorker ModulesBackwards CompatibilitySummaryChapter 24 WorkersIntroduction to WorkersComparing Workers and ThreadsTypes of WorkersThe WorkerGlobalScopeDedicated WorkersDedicated Worker BasicsDedicated Workers and Implicit MessagePortsUnderstanding the Dedicated Worker LifecycleConfiguring Worker OptionsCreating a Worker from Inline JavaScriptDynamic Script Execution Inside a WorkerDelegating Tasks to SubworkersHandling Worker ErrorsCommunicating with a Dedicated WorkerWorker Data TransferWorker PoolsShared WorkersShared Worker BasicsUnderstanding the Shared Worker LifecycleConnecting to a Shared WorkerService WorkersService Worker Use CasesService Worker BasicsThe Service Worker CacheService Worker ClientsService Workers and ConsistencyUnderstanding the Service Worker LifecycleInversion of Control and Service Worker PersistenceManaging Service Worker File Caching with updateViaCacheForced Service Worker OperationService Worker MessagingIntercepting a fetch EventPush NotificationsSummaryChapter 25 Best PracticesMaintainabilityWhat Is Maintainable Code?Code ConventionsLoose CouplingProgramming PracticesPerformanceDon’t Over-OptimizeBe Scope-AwareProblematic Language FeaturesChoose the Right ApproachMinimize Statement CountOptimize DOM InteractionsStrong TypingDeploymentBuild ProcessValidationCompressionSummaryAppendix A ES.NextArray Find from Last MethodsHashbang/Shebang GrammarSymbols as WeakMap KeysChange Array by CopyAppendix B Strict ModeOpting-InClasses and ModulesVariablesObjectsFunctionsFunction ParametersUsing eval()eval and ARGUMENTSCoercion of ThisOther ChangesAppendix C JavaScript Libraries and FrameworksFrameworksReactAngularVueAlpine.jsEmberMeteorBackbone.jsUseful LibrariesjQueryGoogle Closure LibraryUnderscore.jsLodashD3three.jsAnime.jsChart.jsLeafletAxiosRxjsAppendix D JavaScript ToolsPackage ManagersnpmYarnBowerModule LoadersSystemJSRequireJSModule BundlersWebpackParcelRollupCompilation/Transpilation Tools and Static Type SystemsBabelGoogle Closure CompilerTypeScriptFlowHigh-Performance Script ToolsWebAssemblyasm.jsEmscripten and LLVMEditorsSublime TextAtomBracketsVisual Studio CodeWebStormBuild Tools, Automation Systems, and Task RunnersnpmGruntGulpLinters and FormattersESLintGoogle Closure CompilerJSLintJSHintClang FormatMinifiersUglifyGoogle Closure CompilerJSMinUnit TestingMochaJestJasmineqUnitJsUnitDocumentation GeneratorsESDocdocumentation.jsDoccoJsDoc ToolkitIndexEULA
Описание
Ниже — практический обзор по теме «javascript».
The author dives directly into the inner workings of JavaScript to help you clean up your code and become a more sophisticated and talented JavaScript developer. Professional JavaScript for Web Developers, 5th edition, is the gold-standard in intermediate-to-advanced JavaScript programming development books. From object-oriented programming and inheritance to combining JavaScript with HTML and other markup languages, expert computer engineer Matt Frisbie walks you through everything you need to know to level-up your JavaScript game.
This new edition is updated to include ECMAScript 2023 and later standard releases, the most useful techniques, and a relentless focus on code that works seamlessly in mobile web browsers and with the latest common frameworks and libraries.
With this book, you will:Get up to date with ECMAScript 2023Get acquainted with the newest frameworks and librariesExplore advanced topics such as web animation, workers, and the latest APIsGet a head start on future ES releasesLearn to use modern syntax and best practicesUnderstand how to optimize performance in JavaScript applicationsMaster asynchronous programming patterns using promises, generators, and async/awaitPerfect for those who think they already know JavaScript “pretty well,” Professional JavaScript for Web Developers, 5th edition, is the pro-level update that intermediate and advanced web developers have been waiting for.
На этом основные моменты по теме закрыты.
Поделиться
Частые вопросы
Можно ли скачать «Professional JavaScript for Web Developers. 5 Ed» бесплатно?
Да, «Professional JavaScript for Web Developers. 5 Ed» доступна для бесплатного скачивания на нашем сайте в формате PDF. Ссылка на файл находится на этой странице.
В каком формате и какого размера файл?
Книга предоставляется в формате PDF, размер файла 5,5 МБ.
Кто автор и когда вышла книга?
автор — Frisbie Matt, издательство John Wiley & Sons, Inc., год выпуска 2023, 1105 страниц.
О чём книга «Professional JavaScript for Web Developers. 5 Ed»?
Professional JavaScript for Web Developers, 5th edition, is the gold-standard in intermediate-to-advanced JavaScript programming development books.