ReactJS is a JavaScript framework for building user interfaces and web applications. It uses a component-based approach where reusable UI components are built using JavaScript classes or functions. Components render markup using JSX, which gets compiled to React function calls. State changes cause re-rendering for efficient updates. Components communicate via props for parent to child and callbacks for child to parent.