1. Variables
| Feature |
JavaScript |
Python |
| Declaration |
var, let, const |
No specific keyword, just assignment |
| Scope |
Function scope (var), block scope (let, const) |
Block scope (indented code block) |
| Hoisting |
Variables declared with var are hoisted |
No hoisting |
| Constants |
const |
CONSTANT_NAME convention, no true constant |
2. Data Types
| Type |
JavaScript |
Python |
| Primitives |
Number, String, Boolean, undefined, null, Symbol |
int, float, str, bool, None |
| Objects |
Object, Array, Function, Date, etc. |
Lists, Tuples, Sets, Dictionaries, etc. |
| Type Checking |
typeof operator |
type() function |
3. Numbers
| Feature |
JavaScript |
Python |
| Types |
One number type (floating-point) |
int, float |
| Precision |
Double precision floating-point |
Arbitrary precision for int, double precision for float |
| Special Values |
NaN, Infinity |
math.nan, math.inf |
| Integer Division |
Always floating-point |
Integer division with //, floating-point with / |
4. Casting
| Operation |
JavaScript |
Python |
| String to Number |
Number("3.14") |
float("3.14") or int("3") |
| Number to String |
String(3.14) |
str(3.14) |
| Boolean Conversion |
Boolean(value) |
bool(value) |
5. Operators
In JavaScript, ** is available in ECMAScript 2016 (ES7).
| Operator Type |
JavaScript |
Python |
| Arithmetic |
+, -, *, /, %, ** |
Same, // for integer division |
| Comparison |
==, ===, !=, !==, <, >, <=, >= |
==, !=, <, >, <=, >= |
| Logical |
&&, ||, ! |
and, or, not |
| Ternary |
condition ? true : false |
true if condition else false |
6. Lists
In JavaScript, these are called Arrays.
| Feature |
JavaScript |
Python |
| Declaration |
let arr = [1, 2, 3]; |
lst = [1, 2, 3] |
| Access |
arr[0] |
lst[0] |
| Size |
arr.length |
len(lst) |
| Add Element |
arr.push(4) |
lst.append(4) |
| Remove Element |
arr.pop() |
lst.pop() |
| Iteration |
arr.forEach((item) => {...}) |
for item in lst: ... |
7. Tuples
Tuples do not exist as such in JavaScript.
| Feature |
JavaScript |
Python |
| Declaration |
- |
tup = (1, 2, 3) |
| Immutability |
- |
Immutable |
| Access |
- |
tup[0] |
| Size |
- |
len(tup) |
8. Sets
| Feature |
JavaScript |
Python |
| Declaration |
let set = new Set(); |
st = set() |
| Add Element |
set.add(value) |
st.add(value) |
| Remove Element |
set.delete(value) |
st.discard(value) |
| Contains |
set.has(value) |
value in st |
| Size |
set.size |
len(st) |
| Iteration |
set.forEach((value) => {...}) |
for value in st: ... |
9. Dictionaries
In JavaScript, these are similar to Objects.
| Feature |
JavaScript |
Python |
| Declaration |
let obj = {key: 'value'}; |
dict = {'key': 'value'} |
| Access |
obj['key'] or obj.key |
dict['key']or dict.get('key') |
| Add/Update |
obj['newKey'] = 'newValue'; |
dict['newKey'] = 'newValue' |
| Remove |
delete obj['key']; |
del dict['key'] |
| Keys |
Object.keys(obj) |
dict.keys() |
| Values |
Object.values(obj) |
dict.values() |
| Iteration |
for (let key in obj) {...} |
for key in dict: ... |
10. If…Else, while, for
| Control Structure |
JavaScript |
Python |
| If…Else |
if (condition) {...} else {...} |
if condition: ... else: ... |
| While |
while (condition) {...} |
while condition: ... |
| For |
for (let i = 0; i < length; i++) {...} |
for i in range(length): ... |
| For-Each |
array.forEach((item) => {...}) |
for item in iterable: ... |
11. Functions
| Feature |
JavaScript |
Python |
| Declaration |
function functionName(args) {...} or const functionName = (args) => {...} |
def function_name(args): ... |
| Return |
return value; |
return value |
| Default Parameters |
function(a, b = 1) {...} |
def func(a, b=1): ... |
| Anonymous Functions |
Arrow functions (args) => { ... } |
- |
12. Classes
| Feature |
JavaScript |
Python |
| Declaration |
class ClassName {...} |
class ClassName: ... |
| Constructor |
constructor(args) {...} |
def __init__(self, args): ... |
| Inheritance |
class Derived extends Base {...} |
class Derived(Base): ... |
| Methods |
Inside class block methodName(args) {...} |
Indentation-based def method_name(self, args): ... |
13. Error Handling
| Feature |
JavaScript |
Python |
| Try-Catch |
try {...} catch (error) {...} |
try: ... except Exception as error: ... |
| Throw Error |
throw new Error('message'); |
raise Exception('message') |
| Custom Error Types |
Extend Error class |
Extend Exception class |
14. Miscellaneous
| Feature |
JavaScript |
Python |
| Modules |
Import with import or require |
import module or from module import name |
| Async/Await |
Asynchronous programming with async/await |
Asynchronous programming with async/await |
| File I/O |
File operations with Node.js fs module |
File operations with open function |
| List Comprehension |
Not available directly |
[expression for item in list if condition] |