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] |