JavaScript is an object-based scripting language. It uses variables declared with var, and objects are collections of name-value pairs. JavaScript is case sensitive and always uses semicolons. Strict mode restricts actions and prevents errors. Key concepts include null, undefined, equality operators, namespaces, classes, functions, closures, and patterns like MVVM and Knockout.js for dynamic UIs.