JavaScript has several data types including numbers, strings, and Booleans. It uses various operators for assignment, comparison, arithmetic, bitwise, logical, and string operations. Control flow is handled with if/else statements and loops like for and while. Functions are declared with the function keyword followed by a name, parameters, and curly braces containing statements to execute.