A resourceful newsletter featuring the latest and most important news, articles, books and updates in the world of #javascript 🚀 Don't miss our Quizzes!
Let's chat: @nairihar
Post #2556
3.53K
- ❤ 4
- 👍 3
- 🔥 1
JA @javascript
Showing posts older than #2557 · Back to latest
const sym1 = Symbol('test');
const sym2 = Symbol('test');
const obj = {
[sym1]: 'first',
[sym2]: 'second',
regular: 'third'
};
const keys = Object.keys(obj);
const symbols = Object.getOwnPropertySymbols(obj);
const allProps = Reflect.ownKeys(obj);
console.log(keys.length);
console.log(symbols.length);
console.log(allProps.length);
console.log(sym1 === sym2);const data = {
name: '',
age: 0,
city: null,
country: undefined,
isActive: false
};
const getName = () => data.name || 'Unknown';
const getAge = () => data.age ?? 25;
const getCity = () => data.city || 'Default City';
const getCountry = () => data.country ?? 'Default Country';
const getStatus = () => data.isActive || 'inactive';
console.log(`${getName()}-${getAge()}-${getCity()}-${getCountry()}-${getStatus()}`);
const numbers = [1, 2, 3, 4, 5];
const result = numbers
.map(x => x * 2)
.filter(x => x > 5)
.reduce((acc, x) => {
acc.push(x.toString());
return acc;
}, [])
.map(x => x + '!')
.join(' | ');
console.log(result);
console.log(typeof result);

import defer, --module node20, and ‘expandable hovers’ (below) to see expanded type information in IDEs. We also learn v6.0 will act as a ‘transition point’ to get prepared for the Go-powered ‘native port’ of TypeScript due to arrive as TypeScript 7.0.const target = { name: 'Maya', age: 25 };
const handler = {
get(obj, prop) {
if (prop in obj) {
return obj[prop];
}
return `Property '${prop}' not found`;
},
set(obj, prop, value) {
if (typeof value === 'string') {
obj[prop] = value.toUpperCase();
} else {
obj[prop] = value;
}
return true;
}
};
const proxy = new Proxy(target, handler);
proxy.city = 'tokyo';
console.log(proxy.name);
console.log(proxy.city);
console.log(proxy.country);
const obj = {
name: 'Sarah',
getName() {
return this.name;
},
getNameArrow: () => {
return this.name;
}
};
const getName = obj.getName;
const getNameArrow = obj.getNameArrow;
console.log(obj.getName());
console.log(getName());
console.log(getNameArrow());
console.log(obj.getNameArrow());
function processData(data) {
try {
if (!data) {
throw new TypeError('Data is missing');
}
const result = data.process();
return result;
} catch (error) {
console.log(error instanceof ReferenceError ? 1 :
error instanceof TypeError ? 2 :
error instanceof SyntaxError ? 3 : 4);
}
}
processData(null);[6, 8, 10], and summing them gives 6 + 8 + 10 = 24.const numbers = [1, 2, 3, 4, 5];
const result = numbers
.map(n => n * 2)
.filter(n => n > 5)
.reduce((acc, n, index) => {
acc.sum += n;
acc.indices.push(index);
return acc;
}, { sum: 0, indices: [] });
console.log(result.sum);
console.log(result.indices);