<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Valentina Onwuli</title>
    <description>The latest articles on Forem by Valentina Onwuli (@vhinwe).</description>
    <link>https://forem.com/vhinwe</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F859633%2F0c1b8e43-e880-488b-86d9-7bbef864393a.jpeg</url>
      <title>Forem: Valentina Onwuli</title>
      <link>https://forem.com/vhinwe</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/vhinwe"/>
    <language>en</language>
    <item>
      <title>Internet Security: Self-Protection Tips</title>
      <dc:creator>Valentina Onwuli</dc:creator>
      <pubDate>Sun, 11 Sep 2022 13:00:00 +0000</pubDate>
      <link>https://forem.com/vhinwe/internet-security-self-protection-tips-53m5</link>
      <guid>https://forem.com/vhinwe/internet-security-self-protection-tips-53m5</guid>
      <description>&lt;h2&gt;
  
  
  Internet Safety
&lt;/h2&gt;

&lt;p&gt;The internet is a great place where billions of people have access to the web regularly to share information and learn things. Still, it can also be a dangerous place where criminals, malicious hackers and terrorists pose a considerable threat. To stay safe online, you'll need to understand these risks and learn how to avoid them.&lt;/p&gt;

&lt;p&gt;Sometimes, we have a false sense of security while using the computer. After all, you can’t be harmed physically through a computer screen. But to stay safe online, you need to be aware of the dangers lurking &lt;br&gt;
 on the internet and take a more cautious approach. &lt;/p&gt;

&lt;p&gt;Here are some helpful tips and tools that you can use to protect your computer and personal information;&lt;/p&gt;

&lt;h2&gt;
  
  
  i. CREATE STRONG PASSWORDS
&lt;/h2&gt;

&lt;p&gt;For most things we do online, we need to create passwords to log in/have access to different services. You need to create strong passwords which should not include personal details, be too short, easy for you to remember but difficult for people to guess etc. &lt;/p&gt;

&lt;p&gt;You should use different passwords for each of your online accounts so that if one account gets hacked, the other accounts are protected. Always keep your passwords safe and never share them with anyone.  &lt;/p&gt;

&lt;h2&gt;
  
  
  ii. USING ANTIVIRUS SOFTWARE
&lt;/h2&gt;

&lt;p&gt;One of the first things you should do when you get a new device is get antivirus software installed on your computer or mobile phone. It will protect your device from any viruses, malware or spyware that might be lurking around on the internet and also prevent viruses that could steal your personal information or cause other types of damage. Ensure you update this software regularly in order to keep it up-to-date with the latest security threats and vulnerabilities.&lt;/p&gt;

&lt;p&gt;In case you have been attacked by a virus or malware, it is important to know how to remove it from your computer or phone as quickly as possible so that it does not spread further and infect more devices.&lt;/p&gt;

&lt;h2&gt;
  
  
  iii. PROTECT YOURSELF FROM PHISHING
&lt;/h2&gt;

&lt;p&gt;You should also take care not to click on suspicious links, open emails from unknown senders, or download files from untrustworthy sources or attachments you open when using emails. Once you open the link, a program is installed and hidden on your device, allowing a cyber-criminal to remotely control your laptop’s webcam and other applications depending on the malware.&lt;/p&gt;

&lt;h2&gt;
  
  
  iv. AVOID PUBLIC Wi-Fi
&lt;/h2&gt;

&lt;p&gt;If you use public Wi-Fi networks or hotspots, make sure not to access sensitive information such as banking details or passwords while connected to the Wi-Fi. Use only secure Wi-Fi networks to access sensitive information. &lt;/p&gt;

&lt;h2&gt;
  
  
  v. COVER YOUR COMPUTER’S CAMERA
&lt;/h2&gt;

&lt;p&gt;As a first step to enhancing your cybersecurity, several security professionals advise using camera covers.&lt;br&gt;
Taking extra precautions is not rocket science because protection is as easy as covering your camera with electrical tape/insulating tape or a Post-It note. You can buy a webcam cover so you can open your camera whenever want to make video calls.  &lt;/p&gt;

&lt;h2&gt;
  
  
  vi. MAKE SURE THE WEBSITE IS SECURE
&lt;/h2&gt;

&lt;p&gt;To ensure that all your communication and data is encrypted as it passes from your browser to the website’s server make sure that the uniform resource locator(URL) of the website begins with "https" and not "http". &lt;br&gt;
Secondly, look out for a key-lock symbol near your browser's location field which simply means that the connection between your web browser and the website server is encrypted. &lt;/p&gt;

&lt;p&gt;In this article, I have listed some of the ways that you can protect yourself online. They are not difficult to do and can be done in a matter of minutes. Ensure you take the necessary precautions to protect your digital identity and personal information while browsing the internet.&lt;/p&gt;

&lt;p&gt;Reference:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://edu.gcfglobal.org/en/internetsafety/avoiding-spam-and-phishing/1/"&gt;Goodwill Community Foundation, Inc.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.technology-solved.com/should-i-cover-my-laptop-camera/#:~:text=Many%20security%20experts%20recommend%20camera,precaution%20is%20a%20no%20brainer."&gt;Computer troubleshooters &lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://it.wisc.edu/news/two-things-to-look-for-in-a-secure-website/"&gt;UW-Madison&lt;/a&gt;&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>internet</category>
      <category>security</category>
    </item>
    <item>
      <title>Creating a Roadmap for Your Tech Career</title>
      <dc:creator>Valentina Onwuli</dc:creator>
      <pubDate>Mon, 05 Sep 2022 18:26:53 +0000</pubDate>
      <link>https://forem.com/vhinwe/creating-a-roadmap-for-your-tech-career-35pl</link>
      <guid>https://forem.com/vhinwe/creating-a-roadmap-for-your-tech-career-35pl</guid>
      <description>&lt;h2&gt;
  
  
  INTRODUCTION
&lt;/h2&gt;

&lt;p&gt;Many people want to transition into tech but do not know how to go about it, where they fit in, the best role suitable for them, etc.&lt;/p&gt;

&lt;p&gt;You do not need to be so worried, it is normal to have lots of questions and doubts, everyone does at this point but you will figure it out. There is a variety of careers available in the world of technology, ranging from developer roles like app development and web development to non-developer roles like product design and project management. The career opportunities are numerous and you may find yourself at a crossroad when it comes to narrowing down your choices.&lt;/p&gt;

&lt;p&gt;While it can be difficult to know what the best technology career path is for you, here are a few helpful tips to enable you to choose the best tech career path for you (Culled from &lt;a href="https://youtu.be/EZ6oX7HvAHA"&gt;Designing a Tech Career Roadmap&lt;/a&gt; by Yewande Odumosu;&lt;/p&gt;

&lt;h2&gt;
  
  
  i. EVALUATING WHERE YOU ARE NOW
&lt;/h2&gt;

&lt;p&gt;Understanding who and where you are is essential, especially in terms of your profession. In actuality, your previous jobs, where you've gone, family, and friends all matter to your decision.&lt;br&gt;
Reassessing how far you have come, where you are in your career and answering a few questions like ” what do people say I am good at?”, “what motivates me?”, ”What aspect of my work/course do I enjoy the most or the least? and so on, would be good pointers to helping you figure out what tech career path might be best suitable for you.&lt;/p&gt;

&lt;h2&gt;
  
  
  ii. UNDERSTANDING YOUR STRENGTHS AND SKILLS
&lt;/h2&gt;

&lt;p&gt;Being aware of the skills that you have right now, the ones that come easily to you, the ones you have developed over time and the ones you still want to learn will help you decide on what tech career your skills are most needed and relevant to. Some of your already acquired skills are transferable and can lead you to your ideal tech career. Trust me, no matter how insignificant you might think your skill is, you have something to offer in the tech space.&lt;/p&gt;

&lt;h2&gt;
  
  
  iii. RESEARCH
&lt;/h2&gt;

&lt;p&gt;After you have reflected, and listed your hard and soft skills, it's time to do your research. This will give you a clue about the diverse careers in technology and the one(s) that are best suited for you (because you know that you have transferable skills for that particular career path).&lt;/p&gt;

&lt;p&gt;In addition to your research, these resources below can further guide you;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.freecodecamp.org/news/how-to-become-a-data-scientist-2d829fa33aba/"&gt;Data Science&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.freecodecamp.org/news/beginners-roadmap-web-development/"&gt;Web Development&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://heelsandtech.com/product-design-course/"&gt;Product Design&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtu.be/bDtxF7qSofg"&gt;Difference Between A Web Developer And Web Designer&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Apart from reading the resources above, take an intro class or crash course(there are lots of resources on &lt;a href="//youtube.com"&gt;youtube&lt;/a&gt;, &lt;a href="//classcentral.com"&gt;classcentral&lt;/a&gt;, &lt;a href="//freecodecamp.org"&gt;freecodecamp&lt;/a&gt;, &lt;a href="//udemy.com"&gt;udemy&lt;/a&gt; etc). Join a community or volunteer for a particular role you think will open you up to more knowledge and experience in your career interest. If while on the job, you realize that your strength and skills are more suitable for a different tech role, you are free to switch to a better-suited career path and do not hesitate to do so, your tech journey mustn't be linear.&lt;/p&gt;

&lt;h3&gt;
  
  
  Here Comes The Jitters
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sS80pGIc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tldjtjcwu4h1pblasb21.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sS80pGIc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tldjtjcwu4h1pblasb21.jpeg" alt="Image description" width="880" height="293"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Photo by &lt;a href="https://stock.adobe.com/ng/images/light-bulbs-with-difficulties-and-solution-concept/320287582"&gt;EtiAmmos&lt;/a&gt; on &lt;a href="https://stock.adobe.com/"&gt;Adobe Stock&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;After you have done all your research and you have chosen a tech career path, you must understand that self-doubts, jitters, fear, uncertainties and the likes might set in. However, I encourage you to look beyond what you feel and remain focused. Persevere through the discomfort and if you stay consistent, determined and studious, you will find that in the next few months, you'll pat yourself on the back for how far you have come.&lt;/p&gt;

&lt;p&gt;Here is a quiz from &lt;a href="//heelsandtech.com"&gt;heelsandtech&lt;/a&gt; that will help you figure out what tech career path you should tow.&lt;/p&gt;

&lt;p&gt;Click this link to take the phenomenal &lt;a href="https://heelsandtech.com/quiz/"&gt;Heels and Tech Career Quiz&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;You've got this!!!&lt;/p&gt;

</description>
      <category>tech</category>
      <category>beginners</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>Common JavaScript Questions and Answers.</title>
      <dc:creator>Valentina Onwuli</dc:creator>
      <pubDate>Tue, 10 May 2022 12:23:00 +0000</pubDate>
      <link>https://forem.com/vhinwe/common-javascript-questions-and-answers-3o7d</link>
      <guid>https://forem.com/vhinwe/common-javascript-questions-and-answers-3o7d</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;First, I want you to know that JavaScript is not Java. They are two very different languages. JavaScript is not a subset of Java. It is not interpreted Java. (Java is interpreted Java!). So here are a few questions and answers on JavaScript below;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;1. What are the different data types present in JavaScript?&lt;/strong&gt; &lt;br&gt;
There are two kinds of data types:&lt;br&gt;
1) Primitive Data Types&lt;br&gt;
2) Non Primitive Data Type&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;1) Primitive Data Types:&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;a. Strings:&lt;/strong&gt; JavaScript's string type is used to represent textual data. Strings are written with quotes, you can use single or double quotes. Each element in the string occupies a position in the string. The first element is at index 0, the next at index 1, and so on. The length of a string is the number of elements in it. Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let fruitName1 = "Apple";  // Using double quotes
let fruitName2 = 'Orange'; // Using single quotes
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;b. Numbers:&lt;/strong&gt; The Number type is a double-precision 64-bit binary format IEEE 754 value. It is capable of storing floating-point numbers between 2^-1074 and 2^1024, but can only safely store integers in the range -(2^53 − 1) to 2^53 − 1. Values outside of the range from Number.MIN_VALUE to Number.MAX_VALUE are automatically converted to either +Infinity or -Infinity. Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let x = 68.00;     // Written with decimals
let x2 = 657;        // Written without decimals
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;c. Boolean:&lt;/strong&gt; represents a logical entity and can have two values: true and false.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let x = 25;
let y = 25;
let z = 98;

(x == y)       // Returns true
(x == z)       // Returns false
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;d. Undefined:&lt;/strong&gt; a global variable that has not been assigned a value.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let foo;
console.log('is undefined?', foo === undefined);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;e. Null:&lt;/strong&gt; represents the intentional absence of any object value. Null is not an identifier for a property of the global object, like undefined can be. Instead, null expresses a lack of identification, indicating that a variable points to no object.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2)Non Primitive Data Type:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;a. Object:&lt;/strong&gt; In JavaScript, objects can be seen as a collection of properties. It is also a referenceable container of name/value pairs. The names are strings (or other elements such as numbers that are converted to strings). The values can be any of the data types, including other objects.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;An object begins with {left brace and ends with }right brace. Each name is followed by :colon and the name/value pairs are separated by ,comma. Example:&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;2) Explain Hoisting in JavaScript.&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;JavaScript Hoisting refers to the process whereby the declaration of functions, variables or classes is moved to the top of their scope, prior to execution of the code.&lt;br&gt;
Hoisting allows functions, variables or class to be declared before initialized.  Example:&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var foo; // → Hoisted variable declaration
console.log(foo); // → undefined
foo = 42; // → variable assignment remains in the same place
console.log(foo); // → 42
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;3) Difference between “==” and “===” operators.&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“==” and “===” are both comparison operators but they have a difference; the equality operator (==) checks whether its two operands are equal, returning a Boolean value. It tries to transform and compare operands which can be of various types but the strict equality operator (===) checks if  its two operands are equal, returning a Boolean result. The strict equality operator always considers operands of different types to be different.&lt;/p&gt;

&lt;p&gt;In summary, “==” convert their operands if the operand types do not match but “===” does not convert operands, it ensures that they belong to the same type and are the same value.  &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;4) Explain Implicit Type Coercion in JavaScript.&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Implicit coersion simply refers to Javascript trying to coerce values from one data type to another (think of JavaScript automatically converting a string to a number).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;5) Is JavaScript a statically typed or a dynamically typed language?&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;JavaScript is a dynamically typed language.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;6) What is NaN property in JavaScript?&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;NaN is a variable in global scope representing Not-A-Number and is used in a mathematical function or operation in JavaScript which cannot return a specific number.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;7) Explain passed by value and passed by reference.&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Pass by value means that a copy of the actual parameter’s value is made in memory, i.e. the caller and callee have two independent variables with the same value. If the callee modifies the parameter value, the effect is not visible to the caller.&lt;/p&gt;

&lt;p&gt;Pass by reference (also called pass by address) means to pass the reference of an argument in the calling function to the corresponding formal parameter of the called function so that a copy of the address of the actual parameter is made in memory, i.e. the caller and the callee use the same variable for the parameter. If the callee modifies the parameter variable, the effect is visible to the caller’s variable.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;8) What is an Immediately Invoked Function in javascript?&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Immediately-Invoked Function Expressions (IIFE), are a common JavaScript pattern that executes a function instantly after it's defined.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;9. Explain Higher Order Functions in JavaScript.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Higher order functions are functions which take other function as a parameter or return a function as a value. The function passed as a parameter is called callback. Higher order functions return function as a value.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;10. Explain “this” keyword.&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The keyword “this” is set to the object when a method (when a function is a member of an object) of the object is called. The 'this' keyword refers to a special property of an execution context.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;11. Explain call(), apply() and, bind() methods.&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The call() method allows for a function/method belonging to one object to be assigned and called for a different object. call() provides a new value of this to the function/method. With call() , you can write a method once and then inherit it in another object, without having to rewrite the method for the new object.The call() method takes arguments separately.&lt;/p&gt;

&lt;p&gt;The apply() method allows you to call a function with a given this value and arguments provided as an array(The apply() method takes arguments as an array).&lt;br&gt;
Here is the syntax of the apply() method:&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;fn.apply(thisArg, [args]);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The bind() method returns a new function, when invoked, has its this sets to a specific value.The following illustrates the syntax of the bind() method:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;fn.bind(thisArg[, arg1[, arg2[, ...]]])
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;12. What is Currying in JavaScript?&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Currying is a functional programming technique which transforms a function that takes multiple arguments into a sequence of nesting functions that each take only a single argument.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;13. Explain Scope and Scope Chain in JavaScript.&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Scope refers to the accessibility or visibility of variables in JavaScript. Scope determines which sections of the program can access the variable and where the variable can be seen.&lt;br&gt;
Three are three types of scope in JavaScript:&lt;br&gt;
a. Global scope&lt;br&gt;
b. Local scope and &lt;br&gt;
c. Block Scope&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Scope Chain&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The scope chain is how Javascript looks for variables. When looking for variables through the nested scope, the inner scope first looks at its own scope. If the variable is not assigned locally, which is inside the inner function or block scope, then JavaScript will look at the outer scope of said function or block to find the variable. If Javascript could not find the variable in any of the outer scopes on the chain, it will throw a reference error. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;14. Explain Closures in JavaScript.&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Closures are functions that have access to the variables that are present in their scope chain even if the outer function ceases to exist. Functions can be defined inside of other functions. The inner function has access to the vars and parameters of the outer function. If a reference to an inner function survives (for example, as a callback function), the outer function's vars also survive. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;15. What are object prototypes?&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Prototypes are a powerful and very flexible feature of JavaScript, making it possible to reuse code and combine objects. Prototypes are the mechanism by which JavaScript objects inherit features from one another. &lt;/p&gt;

&lt;p&gt;Every object in JavaScript has a built-in property, which is called its prototype. The prototype is itself an object, so the prototype will have its own prototype, making what's called a prototype chain. The chain ends when we reach a prototype that has null for its own prototype.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;16. What are callbacks?&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A callback is a function which can be passed as parameter to other function. Callback is executed at the end of an operation, once all other operations are complete.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;17. What is Memoization?&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Memoization is a simple but powerful trick that can help speed up our code, especially when dealing with repetitive and heavy computing functions.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;18. What is recursion in a programming language?&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Recursion is the process of defining a problem (or the solution to a problem) in terms of (a simpler version of) itself. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;19. What is the use of a constructor function in JavaScript?&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;a. A constructor function is used to initialize (set values for) the object's members/properties.&lt;br&gt;
b. A constructor is also used to create a new object.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;20. What is DOM?&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The Document Object Model (DOM) is a programming interface for web documents. It represents the page so that programs can change the document structure, style, and content. The DOM represents the document as nodes and objects; that way, programming languages can interact with the page.&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>javascript</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
