Programming

Programming

Exploring Various Coding Languages

Programming LanguagesSoftware DevelopmentAlgorithms and Data StructuresSoftware EngineeringWeb and Mobile Programming

Articles in this Section

Declaring and Using Variables in JavaScript – var, let, const, and Scope

In JavaScript, variables are containers for values and must be declared before use. This article explores the three main declaration forms — var, let, and const — and their differences in scope, mutability, and appropriate use cases. It also covers variable declarations in functions and catch blocks, helping developers write clearer and more maintainable code.

/article/declaring-using-variables-javascript-var-let-const-scope

Functions in JavaScript – Definition, Parameters, Return Values, and Structural Variations

Functions are central to JavaScript program structure. This article explores function declarations and expressions, how parameters and return values work, and how functions behave as assignable values. It also covers defining functions as object properties and compares them to class-based syntax. Understanding these forms is key to writing flexible, maintainable code.

/article/functions-in-javascript-definition-parameters-return-values-structural-variations

Coercive Comparisons in JavaScript – Understanding ==, Relational Operators, and Type Conversion

Type coercion is a core feature of JavaScript, especially when it intersects with comparison operators. This article explores how the == operator performs coercive equality, how relational operators like < and > behave with mixed types, and why understanding these behaviors is more practical than avoiding them. Awareness of coercion helps developers write safer, more predictable code.

/article/coercive-comparisons-in-javascript-equality-relational-operators-type-conversion

Organizing Code in JavaScript – Classes, Modules, and Object-Oriented Inheritance

JavaScript offers two major patterns for organizing code: classes and modules. This article focuses on class-based design, including how to define and instantiate classes, encapsulate data and behavior, and use inheritance and polymorphism to extend functionality. Understanding these patterns helps developers write clean, maintainable, and scalable programs.

/article/organizing-code-in-javascript-classes-modules-object-oriented-inheritance

Closure and this in JavaScript – Scope Memory and Dynamic Execution Context

Closure and this are two foundational and often misunderstood concepts in JavaScript. This article defines closure as a function’s ability to remember variables from its outer scope, and explains how this refers to the dynamic execution context of a function call. Through practical examples, it clarifies the difference between static scope and dynamic context.

/article/closure-this-in-javascript-scope-memory-dynamic-execution-context

Prototypes in JavaScript – Delegation, Prototype Chains, and Dynamic this Behavior

Prototypes in JavaScript provide a mechanism for property delegation between objects. This article explains how prototype chains work, how to create linked objects using Object.create, and how property access and assignment behave in relation to delegation. It also explores how the dynamic nature of this enables prototype-based method reuse across multiple objects.

/article/prototypes-in-javascript-delegation-chains-dynamic-this

Value vs Reference and the Many Forms of Function Definitions

Value vs Reference and the Many Forms of Function Definitions

/article/value-vs-reference-function-definition-forms

Coercive Conditional Comparison and Prototypal Classes in JavaScript – Understanding Implicit Logic and Legacy Inheritance Patterns

This article explores two advanced topics from Appendix A of You Don’t Know JS Yet: how JavaScript performs coercive comparisons in conditional expressions, and how prototypal class patterns were used before ES6 introduced the class keyword. Through practical examples, it clarifies how implicit boolean logic works and how prototype chains enable behavior delegation.

/article/coercive-conditional-comparison-prototypal-classes-javascript-implicit-logic-legacy-inheritance

Setting Up a React Project with Vite – Fast Start, Modern Structure, and Focused Learning

Vite is a modern build tool that makes starting a React project fast and intuitive. With sensible defaults and high extensibility, it allows developers to focus on learning React without being distracted by complex tooling. This article walks through setting up a React project with Vite, understanding the project structure, and upgrading React if needed.

/article/setting-up-react-project-with-vite-fast-start-modern-structure

npm Scripts and Your First React Component – Running the App, Building for Production, and Understanding Component Structure

This article introduces the npm scripts defined in your React project’s package.json file, which are used to run, build, and lint your application. It also walks through your first React component in App.jsx, simplifying it to focus on the fundamentals of JSX, function components, and variable scope inside and outside the component.

/article/npm-scripts-react-first-component-run-build-structure

JSX in React – Mixing HTML and JavaScript for Dynamic Interfaces

JSX is a syntax extension for JavaScript that allows developers to combine HTML and JavaScript inside React components. This article explains how to use variables, functions, and data structures in JSX, highlights key differences from native HTML, and shows how JSX enables declarative UI development.

/article/jsx-in-react-mixing-html-javascript-dynamic-interfaces

Rendering Lists in React – Using map() and JSX to Display Dynamic Data

In React, the map() method is commonly used to transform arrays of data into JSX elements. This article explains how to render lists using map(), the importance of the key attribute, and how to display multiple properties of each item. It also highlights JSX-specific syntax differences and best practices for rendering dynamic content.

/article/rendering-lists-in-react-using-map-and-jsx
Programming | Dr. Shahin Siami