Hey there Fellow Javascript Coder!
Whether you're a experienced programmer or just someone who just started with javascript basics, this list of hacks is definitely for you! Please note that you might have already known one or more features of javascript from the below list, and that's awesome! But not everyone knows them π
So let's straight hop in!
Convert Any Datatype to Boolean
By using !!
in front of any variable, we can get the Boolean version of it! Let's see how:
let variable = 100;
variable = !!variable // returns true
variable = 0;
variable = !!variable //returns false
Isn't this easier to write and use in real life?
Well, this is more easier:
let variable = 100;
if(variable) console.log("True"); // Logs True!
variable = 0;
if(variable) console.log("True"); // doesn't log anything
Find whether a property exists in an Object
If you were using if(obj.property)
or if(obj["property"])
till now, it's time to make your code more readable by using if("property" in obj)
.
Become Lazy and truncate Array just as you wanted
This just works!
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
console.log(arr); // Logs all the 10 elements
arr.length = 5;
console.log(arr); // Logs only [1, 2, 3, 4, 5] Holy Moly!?
Remove Duplicates from your Array
let arr = [1, 2, 1];
console.log(arr); // [1, 2, 1], as expected.
arr = Array.from(new Set(arr));
console.log(arr); // [1, 2], and cheers!
Avoid Server Lag during 2 or more Array Concats
Instead of using this:
let list1 = ['a', 'b', 'c', 'd', 'e'];
let list2 = ['f', 'g', 'h', 'i', 'j'];
let list = list1.concat(list2);
Try using this alternative:
let list1 = ['a', 'b', 'c', 'd', 'e'];
let list2 = ['f', 'g', 'h', 'i', 'j'];
let list = list1.push.apply(list1, list2)
The latter code saves your server from high memory consumption because the first code creates a new array in memory, whereas this one works with the list1
array instead of creating a new array.
I hope I made you learn something new today! If I did, consider hitting a like, a unicorn and a bookmark on this Post! Also you can hit a star on my current project - Reejs at https://github.com/rovelstars/reejs , a star means a lot to me!
Have a nice day π!
P.S. Comment down below if you have any ideas on what the next blog should be, I will try my best if I can write on it!
Top comments (12)
very much agree on the whole array part! unnoticed mutations can be such a pain in the ass!
Reminds me of GIGO - Garbage In Garbage Out π
Hi Ren, An alternative to
if(variable) console.log("True");
can be found as a method in the Console API., although the logic needs to be inverted.console.assert
expects at least two parameters; a Boolean assertion and a message (or any other data) you want to present.So the alternative to the above code is
console.assert(!variable, "True")
. It is typically used to flag up when something went wrong but I have never seen it used in production code.You probably didnt see it in production code because many people know what assert does, including me! I just use console.log during testing and remove them when their logging work for testing is over
Thanks, it was a good read, bookmarked, and followed!
if (obj.property)
does not equalif (property in obj)
whenobj.property
is falsy. And I really thinkarr.length
should be considered immutable. Good point though!Thanks for the information! Will try to keep the next blog better!
That was a nice read! Liked, bookmarked and followed, keep the good work! π
Thanks π you can even star my current project github.com/rovelstars/reejs for support π
No offense, but I don't think these codes are going to be useful
No problem! I will try my best to write better blogs!
Good Work ππ