Top 10 Javascript Interview Questions

Javascript Top 10 Interview Questions

This is my very first post on anything interview related. I figure it would be helpful to cover common Javascript questions during an interview. As mentioned in a previous posts, Javascript is totally different beast. From my experience, my interviews have been pretty tame. They were mainly OOP related questions but this was before ES6, before Javascript classes and constructors were introduced. I remember having to write literal objects on a white board and explaining this object’s properties and methods.

Continue reading “Top 10 Javascript Interview Questions”

Using the Promise Object with Javascript

Using the Promise Object in Javascript

I haven’t had to use the Promise function constructor much, I think maybe I’ve used it a handful of times. I don’t know if this is a bad thing. To be honest, the concept of promises is still a bit fuzzy to me. I’d like to build more applications utilizing this construct but I haven’t had to write any programs that run too many asynchronous operations. Or, the need for it wasn’t necessary and I got away with writing a bunch of function callbacks. But that’s what Promises were made for – to eliminate what developers describe as “callback hell” – basically what you get is a chain of nested callbacks which makes for “unnecessary inefficient bloat”. Yeah that’s exactly what I called it.

Continue reading “Using the Promise Object with Javascript”

Using var in Javascript

Using var in javascript

So a little bit of history 101 when it comes to the ‘var’ keyword in Javascript. Back when Javascript was super weird, I mean Javascript is still weird don’t get me wrong. For this reason I started liking Javascript – I used to think it was just to messy of a language to write in. I had some major trust issues with it, my relationship with PHP was far better. Alright enough with relationships, let’s dive right in.

Continue reading “Using var in Javascript”

Javascript Closures

Javascript Closures

Yeah. Closures. I know I’m kind of late in getting to this. Closures have been widely discussed subject among developers and I feel like I should get a good handle on it myself. First things first though, it’s important to understand that closures in javascript are a feature not a built in construct. If you’ve been writing in Javascript you’ve already encountered closures you just weren’t aware of it. I think the concept of closures tends to intimidate or confuse a lot of beginners and even self proclaimed experts in javascript.

Continue reading “Javascript Closures”

Javascript Creation Patterns

Javascript Object Creation Patterns

I’ve taken a long break due to consulting work and a few lazy summer days. I’ve also taken a long break from writing any PHP but I’m itching to getting back to writing more PHP related articles. I just haven’t seen anything new with PHP lately except for some frameworks I haven’t dabbled with yet like Laravel, CodeIgniter and others. Perhaps I’ll find interest in these at a later time – it might worth dissecting these architectures, there’s always something new to learn.

Continue reading “Javascript Creation Patterns”

SOLID Principles

SOLID Principles

If you’ve been programming in PHP for a while or just programming for that matter then you may have founds ways to improve your code, you know – take it to another level.

All credit goes to Reval Govender for this post, check out the video here – SOLID Principles

Efficiency, Scalability, Maintainability, Extensible and loosely coupled code comes to mind when thinking about advancing your programming skills. Enter SOLID Principles, don’t worry – there will only be 5 of them to keep in mind. You’ll be okay.

The Five SOLID Principles

  1. S – Single Responsibility
  2. O – Open/Close
  3. L – Liskov Subtitution
  4. I – Interface Segration
  5. D – Dependency Inversion
Continue reading “SOLID Principles”

Object.create vs the new operator in Javascript

Object.create() vs the new operator in Javascript

One of the more advanced topics in Javascript is the distinction between the Object.create() and the new operator when constructing new objects. More than that, Javascript being a client side language – is unlike other server side languages, compiled or interpreted.

As a result Javascript has some weird parts to it putting off some developers to some other more less dynamics languages but drawing in more curious developers to Javascript land. These weird parts shouldn’t be seen as a disadvantage though if you thoroughly spend quality time getting to know Javascript – you can use these new patterns, concepts to your advantage.
Continue reading “Object.create vs the new operator in Javascript”

Javascript – Functional Programming Part 1

Javascript – Functional Programming Part 1

I haven’t covered any advanced topics until now – functional programming in Javascript is an advanced topic in my book. Not only is functional programming an advanced topic, it’s quite special and specific to the Javascript language. Even a well seasoned developer could get a little frazzled by the concept of functional programming – especially those who code in more statically typed languages – like C or Java.

I, myself have mulled over this a long time – especially because I haven’t built any applications using much of functional programming. Frameworks and libraries – yes, but I’m talking about writing my own proprietary code. Programmers unknowingly utilize functional programming all the time – with this, comes closures, prototypical inheritance – other advanced patterns found in our javascript libraries today.
Continue reading “Javascript – Functional Programming Part 1”

Javascript’s call, apply and bind methods

Javascrip's apply, call and bind methods

I’ve been mulling over getting this post up for a while now – simply because functions are a big deal in Javascript. Javascript functions are packed with so many properties, methods and it’s fundamental nature requires some quality time in understanding its features.

There are a few things to keep in mind when dealing with Javascripts call(), apply, and bind methods()

  • call(), apply() and bind() are three methods every function has access too
  • bind() creates a copy of the function object in question
  • call(), apply() and bind() methods are methods that allow an object to point to a different ‘this’ variable when invoked.
  • Common patterns used in conjunction with call(), apply() and bind() are function borrowing and function currying.

Continue reading “Javascript’s call, apply and bind methods”

Fixing a network 404 error using typeof

Fixing a network 404 error using typeof

Javascript’s typeof operator is an essential debugging tool that many young programmers often miss. Countless times I’ve run into situations where my program wasn’t working because either my variable was unnoticeably coerced or I was just completely unaware of a data type. As mentioned in a previous post – a season programmer should know their data types! Another thing a seasoned programmer ought to know is to prevent themselves from being too arrogant – yes, we need help and using the “typeof” operator is there to the rescue.

Continue reading “Fixing a network 404 error using typeof”