18 dépôts
Fixing the this value of a function to maintain a consistent object context.
Distinct from Foreign Function Bindings: Focuses on the permanent binding of a function's context rather than temporary invocation or foreign bindings.
Explore 18 awesome GitHub repositories matching programming languages & runtimes · Function Context Binding. Refine with filters or upvote what's useful.
This project is a JavaScript style guide and a set of coding standards designed to ensure codebase consistency. It provides a collection of best practices for writing maintainable and idiomatic code, focusing on variable naming, type checking, and execution context. The project serves as a static analysis guide, offering frameworks and guidelines for using linters and automated tools to identify bugs and verify code correctness before deployment. It establishes standards for formatting, syntax, and variable declarations to standardize code style across a project. The scope of the project cov
Provides standards for fixing the this value of functions to maintain consistent object context across environments.
This project is a comprehensive JavaScript programming tutorial and language reference. It serves as a web development education resource providing instruction on modern language fundamentals, object-oriented design, and advanced asynchronous programming patterns. The resource functions as both a frontend development guide and a technical reference. It covers core language features such as closures, prototypes, promises, and typed arrays, while providing practical lessons on managing browser data and handling network requests. The content spans several key capability areas, including browser
Instructs on fixing the 'this' value to maintain consistent object context during function execution.
node-lessons is a comprehensive Node.js programming course and instructional guide. It provides a collection of guided lessons and code examples designed to teach the fundamentals of the Node.js runtime and server-side JavaScript development. The project serves as a practical guide for building web servers and backend applications, specifically covering the implementation of HTTP servers, request routing, and middleware chains. It includes specialized instructional material on managing asynchronous JavaScript workflows through promises and flow control, as well as guides for integrating NoSQL
Explains how to fix the this value of a function to maintain consistent object context.
The ECMAScript specification is the formal standard defining the syntax, semantics, and execution model that all JavaScript implementations must follow. It establishes the official language rules through a combination of formal grammar and step-by-step algorithmic prose. The project manages the technical evolution of the language via a consensus-driven governance framework and a staged proposal pipeline. This process tracks features from initial design through expert reviewer sign-off and committee approval. A specification-as-code toolchain compiles these formal definitions and algorithmic d
Defines the mechanism for fixing the this value of a function to maintain a consistent object context.
This project is a technical interview study guide and a markdown-driven static site designed to help developers prepare for coding screenings. It serves as a curated collection of common technical questions and expert answers, functioning as a comprehensive educational resource. The platform provides a structured curriculum and reference materials across several key domains. This includes a JavaScript language reference covering programming fundamentals, a frontend engineering curriculum focused on UI patterns and responsive design, and a web security knowledge base detailing attack vectors a
Details how to fix the execution context of a function using binding techniques.
This repository is a curated knowledge base focused on core JavaScript fundamentals, specifically designed for frontend interview preparation. It provides structured explanations of essential concepts including closures, prototype chains, execution contexts, and memory management, serving as a reference for developers seeking to deepen their understanding of the language's inner workings. The content covers a range of practical JavaScript topics, including object copying techniques (shallow and deep copy), event handling optimization through throttle and debounce patterns, and functional prog
Applies the five ways to bind this in JavaScript, including arrow functions and call/apply/bind.
This project is a technical interview preparation resource focused on JavaScript. It provides a collection of common technical questions, detailed answers, and conceptual quizzes designed to help users master core language fundamentals and browser APIs. The resource utilizes an interactive infrastructure that includes a coding workspace with in-browser runtime execution and an automated test suite to validate code correctness. It organizes content through curated learning paths and modular concept mapping to decompose complex language fundamentals into searchable study modules. The curriculu
Explains how to preserve the correct object context during function execution using binding.
This project is a comprehensive frontend interview preparation resource built around a question bank of over 1000 curated questions. It covers HTML, CSS, JavaScript, Vue, React, Node, TypeScript, Webpack, algorithms, and network security, with each question accompanied by a detailed answer explanation. The content is organized into a hierarchical category tree for browsable exploration, and a daily question rotation algorithm presents one question per day for systematic review. A client-side search index enables instant filtering of questions by title or tag, and the entire question bank is p
Provides exercises for binding a function to a specific context and preset arguments, creating a new function with a fixed this value.
Pry is a programmable Ruby shell, REPL console, and runtime developer environment. It serves as a debugging toolkit for inspecting object state, navigating bindings, and evaluating code within a running Ruby program. The project differentiates itself through advanced introspection and live iteration capabilities. It allows users to inject an interactive console into a running program at specific points to inspect local state and navigate different object scopes. It further enables live code iteration by integrating with external system editors to modify and reload method definitions without r
Allows users to move the session context into and out of different objects or bindings to explore internal state.
This project is a reference catalogue of the new syntax and behavioral changes introduced in the ECMAScript 6 (ES6) specification for JavaScript. It serves as a curated overview and comparison table of the language features defined by the standard, documenting additions such as block scoping with let and const, arrow function syntax, default parameter handling, and rest parameter collection. The reference is structured as a side-by-side comparison chart that maps old and new JavaScript syntax patterns, providing a focused guide for each capability. It covers the core language fundamentals
Captures the surrounding this value automatically inside arrow functions, removing manual binding.
You Don't Know JS is an open-source educational book series that explains the core mechanisms of the JavaScript language in depth. The project is a freely available learning resource, structured as independent volumes that each focus on a single JavaScript mechanism, and is available in a complete Brazilian Portuguese translation. The series explores how JavaScript's fundamental systems work under the hood, including scope, closures, prototypes, and the this keyword. It covers concepts such as lexical-scope compilation, closure-based variable retention, hoisting-based variable declaration,
Demonstrates how the this keyword is determined by the call-site context rather than function definition.
Rhai est un moteur de script embarqué et un langage à typage dynamique conçu pour être intégré dans des applications Rust. Il fonctionne comme un compilateur d'arbre de syntaxe abstraite (AST) et une couche d'interopérabilité native, permettant aux développeurs de mapper des types et des fonctions Rust dans un environnement de script pour une communication bidirectionnelle. Le projet sert de framework pour créer des langages dédiés (DSL) personnalisables. Il permet de définir des opérateurs, une syntaxe et des environnements d'exécution restreints personnalisés, facilitant la création de langages spécialisés avec des jeux de fonctionnalités sur mesure. Le moteur couvre un large éventail de capacités, notamment le sandboxing avec limitation de ressources pour une exécution sécurisée, l'organisation modulaire du code et un traitement complet des données pour les types numériques, chaînes de caractères et binaires. Il fournit également des outils pour la manipulation d'AST, la sérialisation de l'état d'exécution et l'observabilité au runtime via l'inspection de la pile d'appels et des interfaces de débogage. Le moteur est conçu pour un déploiement multiplateforme sur tout CPU ou système d'exploitation supporté par le compilateur natif.
Allows associating a specific object with a function call to serve as the internal this context.
Ce projet est un blog de développement frontend et une base de connaissances technique. Il sert de référence en génie logiciel et de portfolio de développement web, fournissant une collection curatée d'articles et de notes sur l'ingénierie frontend, les modèles de programmation et les fondamentaux de l'informatique. Le site se concentre sur l'éducation en ingénierie frontend et la gestion des connaissances techniques. Il couvre les modèles d'architecture logicielle, les workflows de développement web et la préparation aux entretiens d'ingénierie via l'organisation de guides techniques et de tutoriels. La portée du projet inclut la documentation des rouages internes des navigateurs, l'implémentation d'interfaces réactives et l'optimisation des performances web. Il aborde également les structures de données, les algorithmes et le processus de construction et de déploiement de sites web statiques.
Explains explicit this binding techniques using call, apply, and bind to reuse logic across contexts.
Scala.js est un compilateur et une chaîne d'outils linguistique multiplateforme qui transforme le code source Scala en JavaScript ou WebAssembly. Il fonctionne comme un outil typé statiquement pour l'écosystème JavaScript, permettant le développement d'applications pour les navigateurs web et les environnements Node.js. Le projet sert de framework d'interopérabilité JavaScript, permettant la création de façades et de bindings typés pour interagir avec des bibliothèques externes et des objets globaux. Il fournit des mécanismes pour l'invocation JavaScript statique et dynamique, incluant la génération de bindings TypeScript et la capacité d'exporter une logique interne pour une utilisation dans du code JavaScript externe. La chaîne d'outils inclut un outil de build frontend pour le bundling de production et l'optimisation de sortie, incluant l'élimination de code mort et le découpage de modules. Elle couvre une large surface de fonctionnalités, incluant la vérification de type des éléments DOM pour le développement d'interface, le partage de code multiplateforme pour le développement full-stack, et divers frameworks de test pour vérifier les artefacts de build optimisés. Les scripts compilés peuvent être exécutés directement au sein d'un environnement en ligne de commande en utilisant un interpréteur JavaScript.
Captures the JavaScript this value as an explicit parameter to maintain closure compatibility in compiled functions.
core-decorators est une bibliothèque de décorateurs de classe JavaScript et un utilitaire de framework pour étendre les fonctionnalités des classes. Elle fournit une collection d'outils pour implémenter des mixins de comportement de classe, automatiser la liaison des méthodes pour éviter la configuration manuelle dans le constructeur, et vérifier que les méthodes des sous-classes surchargent correctement celles des parents. La bibliothèque inclut une boîte à outils de dépréciation de code pour marquer les méthodes obsolètes avec des avertissements dans la console, ainsi qu'un profileur d'exécution de fonctions pour mesurer les performances et la durée. Elle permet en outre de modifier le comportement des classes et des méthodes via un système de décorateurs personnalisés et d'injection de logique partagée. Ses capacités supplémentaires couvrent le contrôle des propriétés d'objet, y compris l'application de propriétés en lecture seule et la restriction de visibilité des propriétés. La boîte à outils fournit également des primitives de performance telles que la mise en cache des résultats et l'initialisation différée des propriétés pour retarder l'exécution jusqu'au premier accès.
Provides utilities to permanently bind the this context to class instances for consistent function execution.
Ce dépôt est une collection de défis de codage JavaScript et un guide d'entretien complet. Il fournit des implémentations de référence et des exemples éducatifs conçus pour aider les développeurs à maîtriser les fondamentaux du langage et à se préparer aux entretiens techniques. Le projet couvre un large éventail d'implémentations spécialisées, incluant des modèles de programmation fonctionnelle comme le currying et l'application partielle, ainsi que des modèles asynchrones pour le contrôle de la concurrence. Il inclut également des exemples pratiques de manipulation du Document Object Model (DOM) et l'implémentation de structures de données courantes telles que les piles et les files d'attente. Globalement, la collection couvre des fonctionnalités avancées du langage, des implémentations de modèles de conception et la manipulation de structures de données. Elle aborde une surface qui inclut la programmation asynchrone, l'interaction DOM, les modèles de création orientés objet et les opérations primitives de bas niveau.
Provides the capability to create functions with a specified context to ensure consistent execution against an object.
Ce projet est une chronique historique traduite et une référence de langage de programmation documentant l'évolution technique et la standardisation de JavaScript sur deux décennies. Il sert d'archive d'ingénierie logicielle qui suit les brouillons de versions et l'influence de divers organismes de normalisation sur le développement du langage. Le dépôt fournit une traduction chinoise d'une histoire complète, analysant les jalons sociopolitiques et techniques de l'écosystème. Il cartographie les jalons du langage et chronique le développement des spécifications officielles pour fournir un contexte historique sur la façon dont le langage a évolué. La documentation couvre les concepts fondamentaux du langage, incluant le flux asynchrone, les modèles d'objets et la gestion de la mémoire. Elle inclut également un catalogue de contributeurs de l'industrie et un glossaire de terminologie technique et de patterns architecturaux.
Explains the process of binding function contexts to maintain consistent object references.
EventEmitter3 is a high-performance JavaScript event emitter and publish-subscribe library. It implements the observer pattern to enable decoupled communication between application components through the registration and emission of custom events. The library functions as a context-aware event dispatcher, allowing specific execution contexts to be bound to listeners. This removes the need for manual function binding during event dispatching. The project covers core event management capabilities, including listener registration and a synchronous execution loop for event delivery. It utilizes
Provides a mechanism to bind a specific object as the execution context for event listeners.