
My initial experience with JavaScript prompted me to compare it with my prior experience with Java, C, and C++. Despite significant similarities in its syntax, JavaScript is different due to its semantics. Compared to Java being strongly typed and C & C++’s manual memory allocation, it felt different due to it being considered weakly typed. With variable declarations like “var,” “let,” and “const,” JavaScript’s flexibility offered both freedom and confusion. I personally had a hard time understanding when and when not to use the keywords “var” and “let.” But with a bit more practice, I can confidently tell the difference. The keyword “var” is considered function-scoped, meaning they can be accessed throughout the entire function on which they were declared. The keyword “let” is block-scoped, meaning they are limited to being accessed within the block. As I continue to explore this powerful language, I’m excited to unravel its intricacies and perks.
I ran into some difficulties with the new ES6 features like arrow functions, destructuring, classes, promises, and modules while finishing two courses on the fundamentals of JavaScript and ES6. These modifications were particularly difficult for me because, as aforementioned, I had prior knowledge of only Java, C, and C++. For instance, destructuring felt different from how I usually assigned variables, whereas arrow functions forced me to reconsider conventional function declarations. But as I continued to use and explore ES6, I came to see that these features had significantly improved the language, making code more concise, expressive, and easier to read.
The strict time constraints of WODs (Workout of the Day) for coding problems which are evocative of actual technical interviews, can make participating rather stressful. But having access to practice WODs reduces the pressure by giving us an opportunity to get accustomed to the time-sensitive nature of coding interviews and improve our problem-solving abilities. I personally take the time to understand the problem by taking notes after completing a practice WOD. This way of practicing helps me reflect and learn from my mistake so that I can better solve the practice problem. While they don’t completely remove the anxiety, these practice sessions give you a feeling of readiness and confidence. In the end, these WODs are crucial for training us to successfully navigate technical interviews in our future employment.