<?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>DEV Community: Karen Efereyan</title>
    <description>The latest articles on DEV Community by Karen Efereyan (@developerkaren).</description>
    <link>https://dev.to/developerkaren</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%2F329353%2F677b6876-a24a-4dc4-913d-6fd897edae62.jpg</url>
      <title>DEV Community: Karen Efereyan</title>
      <link>https://dev.to/developerkaren</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/developerkaren"/>
    <language>en</language>
    <item>
      <title>A conversation with the 'this' keyword in Javascript</title>
      <dc:creator>Karen Efereyan</dc:creator>
      <pubDate>Fri, 18 Sep 2020 11:24:25 +0000</pubDate>
      <link>https://dev.to/developerkaren/a-conversation-with-the-this-keyword-in-javascript-3j6g</link>
      <guid>https://dev.to/developerkaren/a-conversation-with-the-this-keyword-in-javascript-3j6g</guid>
      <description>&lt;p&gt;'This' is one of the most confusing concepts in Javascript. Here's the sad news. It is just as important to understand it as it is hard to understand it. Hahaha. No pun intended. I managed to get a closed interview with 'this' and in here I will share what we talked about.&lt;/p&gt;

&lt;p&gt;Karen : Hi 'this'. It is an absolute pleasure to meet you. On behalf of developers all around the world, we have a great need to get to know you better.&lt;/p&gt;

&lt;p&gt;this : Hi Karen! That's absolutely fine. I'm suprised that you had the courage to approach me. Time and time again, the other developers have been too scared to talk to me. What would you like to know?&lt;/p&gt;

&lt;p&gt;Karen : Thanks for the compliment. I would like to know more about you. Who are you, 'this'?&lt;/p&gt;

&lt;p&gt;this : Well, at the very basic. I am a property of any execution context in which I am called. The value I hold depends on the context or situation in which I am used. This value is determined by how the context I am used in is called during runtime.&lt;/p&gt;

&lt;p&gt;Karen : Waow. That is amazing. I can almost imagine you as a chameleon. You can change whenever you want to. Can you give us a few examples of how your value might change based on execution context? &lt;/p&gt;

&lt;p&gt;this : Absolutely! Let's get started. You're Karen right? How old are you and what is your profession?&lt;/p&gt;

&lt;p&gt;Karen : Hmmn! I'm 17 and I am a full stack developer.&lt;/p&gt;

&lt;p&gt;this : Lit! First, I will show you what my execution context is when I am used inside an object method. Permit me to quickly create an object called Karen, like so....&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const developerKaren = {
  age: 17,
  profession: "Full stack Developer",
  func :function() {
    return this.age;
  },
};

console.log("Karen, it is so nice to know that you are " + 
 developerKaren.func());
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Now, can you guess what the value of the console.log will be?&lt;/p&gt;

&lt;p&gt;Karen : I am not sure! You tell me&lt;/p&gt;

&lt;p&gt;this: Okay, in this case, the console.log will output the following.. Karen, it is so nice to know that you are 17.&lt;/p&gt;

&lt;p&gt;Karen : Hmmn! That's a little weird. this.age translated to 17? How's that?&lt;/p&gt;

&lt;p&gt;this : Well, remember I said that my value depends on the context in which I am called. In this case, since I am being used inside an object method, which is how functions inside objects are called in javascript, I refer to the object whose method is called. In this case, I am being called on the developerKaren object and hence one of my keys, age can be accessed. &lt;/p&gt;

&lt;p&gt;Karen : Hmmn! I think I get you now. &lt;/p&gt;

&lt;p&gt;this : Just so we are sure, what do you think the console.log outputs in this case?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var karen = {
 age : 17, 
 profession : "Full Stack Developer"
}

function standAlone(){
return this.age;
}

karen.func = standAlone;
console.log(karen.func());

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Karen : Mad oh! Now I'm confused! &lt;/p&gt;

&lt;p&gt;this : Hahaha! You need not be. Let's look at it together. In the first block, karen is still an object with two keys, age and profession. Now I created a new function called standAlone that returns this.age.&lt;/p&gt;

&lt;p&gt;Karen: Exactly my point. Just what does this refer to here? &lt;/p&gt;

&lt;p&gt;this : That's a good question. It doesn't refer to anything just yet. But what happens when I say, karen.func = standAlone?&lt;/p&gt;

&lt;p&gt;Karen : I still don't get it.&lt;/p&gt;

&lt;p&gt;this : That's fine. Can you remember what karen is?&lt;/p&gt;

&lt;p&gt;Karen : Sure! That's an object with the keys age and profession.&lt;/p&gt;

&lt;p&gt;this: Exactly, now by saying karen.func = standAlone, I just created a third key in the karen object and that key holds the function standAlone as its value. Can you now figure out what 'this' will refere to?&lt;/p&gt;

&lt;p&gt;Karen : Oh now! I get it. this now refers to the karen object and it now has three keys, age, profession and func. &lt;/p&gt;

&lt;p&gt;this : Exactly! I knew you were brilliant&lt;/p&gt;

&lt;p&gt;Karen : Thanks! So, in essence, this is the same as the previous example.&lt;/p&gt;

&lt;p&gt;this : You can say so. I brought out this example to prove a point. My value when used in an object method is not affected by where the function is defined. What matters is that the function, or better called method is invoked as a member of an object. That way, I can refer to the object and then I can be used to access all the object's other properties.&lt;/p&gt;

&lt;p&gt;Karen : Waow! That was such a beautiful explanation. &lt;/p&gt;

&lt;p&gt;this : Thanks, Karen&lt;/p&gt;

&lt;p&gt;Karen : Are there any other contexts in which you can be used?&lt;/p&gt;

&lt;p&gt;this : You bet! Let's talk of another context in which my value will be different. When I am used in the Global context. The global context in simple terms means that I am invoked outside of any function. In this case, I refer to the global object. &lt;/p&gt;

&lt;p&gt;Karen : What is the global object?&lt;/p&gt;

&lt;p&gt;this : I knew you'd ask. The global object simply refers to the window object , especially in web browsers. Take a look at this example,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;console.log(this === window); 

a = 37;
console.log("The value of this in the global context is " + this.a); 

this.b = "MDN";
console.log(this.b)  
console.log(window.b)   
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;What do you think the value of the first console.log will be?&lt;/p&gt;

&lt;p&gt;Karen : That would be true&lt;/p&gt;

&lt;p&gt;this : that's right. since this in the global context is equal to window object then they would be equal. How about the second console.log()?&lt;/p&gt;

&lt;p&gt;Karen : The value of this in the global context is 37?&lt;/p&gt;

&lt;p&gt;this : That's right. How did you reach that conclusion?&lt;/p&gt;

&lt;p&gt;Karen : Well, since a is not declared inside any function or class, its just sitting on the window object, hence this.a will be the value of a on the window object which will be 37&lt;/p&gt;

&lt;p&gt;this : That's absolutely correct. The same applies for the last two console logs(). their values will be MDN since window. b = "MDN" and this.b ="MDN" is simply assigning the value MDN to a the window object as a member. Have you been enjoying our discussion so far?&lt;/p&gt;

&lt;p&gt;Karen : Absolutely! Let's move on&lt;/p&gt;

&lt;p&gt;this : Sure, the next context to talk about is the function context. When used in a function, the value I hold will depend on how the function is called. Here is an example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function f1() {
  return this;
}

f1();
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;What do you think 'this' refers to in this case?&lt;/p&gt;

&lt;p&gt;Karen : This is a little confusing. I'm thinking the window object? But I am not sure.&lt;/p&gt;

&lt;p&gt;this : That's fine. You are right. But we need to be sure. Why would I refer to the window object in this case? Look carefully and see if you can figure out the reason.&lt;/p&gt;

&lt;p&gt;Karen: Hmmn! I think it refers to the window object since at the point of its call, it is not been explictly bound to an object or anything of that sort.&lt;/p&gt;

&lt;p&gt;this : Exactly! You saw above that while the place where the function is defined doesn't really matter, where it is invoked matters because that will determine the value of 'this'. In this case f1() is being invoked, but not as a member of an internal object so it automatically defualts to the global object.&lt;/p&gt;

&lt;p&gt;Karen : Okay! That makes a lot of sense.&lt;/p&gt;

&lt;p&gt;this : However, while still under this function execution context. I have to introduce you to a friend. He's called 'strict'&lt;/p&gt;

&lt;p&gt;Karen : Waow! &lt;/p&gt;

&lt;p&gt;Strict : Hi there, Karen. I see that you've been having a fruitful discussion with my friend 'this'.&lt;/p&gt;

&lt;p&gt;Karen : That's true. It's a pleasure to meet you. Can I get to know you?&lt;/p&gt;

&lt;p&gt;Strict : Sure, I am strict and I prevent you from writing sloppy code.&lt;/p&gt;

&lt;p&gt;Karen : Nice to know!&lt;/p&gt;

&lt;p&gt;this : So strict, could you explain how using you can affect what I refer to while in the function context?&lt;/p&gt;

&lt;p&gt;Strict: Sure! Karen, take a look at this example&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function f2() {
  'use strict';
  return this;

f2();
}

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;what do you think this would refer to in this case?&lt;/p&gt;

&lt;p&gt;Karen : The window object?&lt;/p&gt;

&lt;p&gt;Strict: Nah! Look closer. Do you see this string 'use strict'?&lt;/p&gt;

&lt;p&gt;Karen : Yes, I see it.&lt;/p&gt;

&lt;p&gt;Strict : If you were writing sloppy code, this would have referred to the window object but not when I am around. Since I am here when f2() is invoked, it will not refer to the global object. Rather, it's value will be undefined. &lt;/p&gt;

&lt;p&gt;Karen: hmmn! That's weird.&lt;/p&gt;

&lt;p&gt;Strict : Is it though? Think of it logically. Would you really want a function invocation to refer to the window object? Anyways, even if you did, that would be sloppy code and I would not allow it.&lt;/p&gt;

&lt;p&gt;Karen: Hmmn, Strict. You sound like someone who doesn't take nonsense.&lt;/p&gt;

&lt;p&gt;Strict : To be fair, I play a lot but I am strict when it comes to allowing people to write sloppy code. We don't do that here.&lt;/p&gt;

&lt;p&gt;Karen : hahaha! Noted!&lt;/p&gt;

&lt;p&gt;this : Thanks friend. Karen, are you tired yet?&lt;/p&gt;

&lt;p&gt;Karen : Not a bit. This is so much fun! Any more gems to share?&lt;/p&gt;

&lt;p&gt;this : Sure! Let's talk about what I refer to in the class context. There are some similarities between my value in classes and functions but there are little cavaets. Let's discuss them.&lt;br&gt;
Within a class constructor, 'this' is a regular object. All the non-static methods of the class are added to the prototype of this.&lt;/p&gt;

&lt;p&gt;Karen : This time around, I don't get it at all.&lt;/p&gt;

&lt;p&gt;this : No worries! I'll explain as best as I can. Understanding what I mean in this context has to be the most difficult. Let's use an example to explain&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class Example {
  constructor() {
    console.log(this.first);
  }
  first(){
  return("I am a nonstatic member of class Example")
  }
  second(){}
  static third(){}
}

new Example(); 

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;In this example, there are certain things we must understand. First, a constructor is a method that is automatically called every time an object is created out of a class. In this case, within the constructor function, I am logging this to the console. Can you guess what the value will be?&lt;/p&gt;

&lt;p&gt;Karen : Not at all&lt;/p&gt;

&lt;p&gt;this : Within the class constructor, I am a regular object, ie one that can access all the other non-static members of the class, like the first and second functions. Therefore, in this example, once the new object of class example is created, it automatically runs the construtor in which case, this is returned ...&lt;/p&gt;

&lt;p&gt;second(){&lt;br&gt;
  return ("I am another member of this class")&lt;br&gt;
  }&lt;/p&gt;

&lt;p&gt;I will drop some helpful resources to help you read more on my usage in the 'class context'&lt;/p&gt;

&lt;p&gt;Karen : Okay! That will be helpful&lt;/p&gt;

&lt;p&gt;this : There are about 2 or 3 more contexts to talk about. But I am getting tired.&lt;/p&gt;

&lt;p&gt;Karen : Awwn! You've been a huge help to me today. I'm sure the other developers will be happy to learn all you've taught me so far. Maybe we could schedule another interview soon?&lt;/p&gt;

&lt;p&gt;this : Definitely! It was wonderful speaking to you, Karen.&lt;/p&gt;

&lt;h3&gt;
  
  
  SUMMARY
&lt;/h3&gt;

&lt;p&gt;Here are the common contexts in which the 'this' keyword can be used. We have spoken about some of them. Be sure to read up on the others. &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Global Context&lt;/li&gt;
&lt;li&gt;Function Context&lt;/li&gt;
&lt;li&gt;Class Context&lt;/li&gt;
&lt;li&gt;Derived Class Context&lt;/li&gt;
&lt;li&gt;this in arrow functions&lt;/li&gt;
&lt;li&gt;this in object methods&lt;/li&gt;
&lt;li&gt;this as a constructor .... and much more.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That was a hypothetical interview between me and the 'this' keyword. I hope in some way, I have simplified your understanding of this difficult concept. I did not want the article to be too long so that full understanding can be derived. If you would like a part two where I dive deep into the other contexts where the 'this' keyword finds usage, kindly let me know. Also, this is the first post in a series, where I aim to help us attain mastery of some of the weirdest Javascript concepts. Yes, myself included. If you would be interested in that series, please drop a comment down below. &lt;/p&gt;

&lt;p&gt;In the meantime, here are some helpful articles to help you solidify your understanding of the 'this' keyword.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this"&gt;this - MDN&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.w3schools.com/js/js_this.asp"&gt;this - W3Schools&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.tutorialsteacher.com/javascript/this-keyword-in-javascript"&gt;this - tutorialsTeacher&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Contact Me:&lt;br&gt;
&lt;a href="https://twitter.com/EfereyanK"&gt;Twitter&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>codenewbie</category>
      <category>developer</category>
    </item>
    <item>
      <title>Chrome Extensions Every Developer Should Have</title>
      <dc:creator>Karen Efereyan</dc:creator>
      <pubDate>Mon, 14 Sep 2020 11:36:35 +0000</pubDate>
      <link>https://dev.to/developerkaren/chrome-extensions-every-developer-should-have-doh</link>
      <guid>https://dev.to/developerkaren/chrome-extensions-every-developer-should-have-doh</guid>
      <description>&lt;p&gt;Yesterday, I was having a google meet call with a developer. In the middle of the call, she had to show me something on her github profile and so she shared her screen. The first thing I noticed was that her github was in dark mode. How cool is that, I thought? I had always hated light mode. It gave me headaches. So I asked her, how were you able to implement dark mode on your github profile? Then she told me about OctoTree. What is octoTree I asked? Never mind, I said. I'll make my research on google. &lt;/p&gt;

&lt;p&gt;My research led to me finding out not only about OctoTree but about some more awesome chrome extensions that I think every developer should know about and start using. Let's dive in.&lt;/p&gt;

&lt;p&gt;AWESOME CHROME EXTENSIONS FOR EVERY DEVELOPER&lt;/p&gt;

&lt;p&gt;1.OctoTree : This extension enhances Github code review and exploration. Added to that are some features like dark mode(My fav), code font setting, book marking, sidebar docking etc. Octotree feels a lot like Visual Studio Code in Github.  My thoughts.....&lt;/p&gt;

&lt;p&gt;Here is how it looks &lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fo10flhlft07kk4x0n63j.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fo10flhlft07kk4x0n63j.PNG" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Cute, innit? &lt;br&gt;
Here is a direct download link : &lt;a href="https://chrome.google.com/webstore/detail/octotree/bkhaagjahfmjljalopjnoealnfndnagc" rel="noopener noreferrer"&gt;https://chrome.google.com/webstore/detail/octotree/bkhaagjahfmjljalopjnoealnfndnagc&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2.Wappalyzer : This browser extension is a technology profiler that shows you what websites and web applications are built with. Curious as to what technologies, frameworks, Javascript libraries and more are used to build a website or a web application? Just use Wappalyzer.&lt;/p&gt;

&lt;p&gt;Here is how it looks&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F70kepegpqvp31xghxkau.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F70kepegpqvp31xghxkau.PNG" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Here is a direct link to add it to your browser : &lt;br&gt;
&lt;a href="https://chrome.google.com/webstore/detail/wappalyzer/gppongmhjkpfnbhagpmjfkannfbllamg?hl=en" rel="noopener noreferrer"&gt;https://chrome.google.com/webstore/detail/wappalyzer/gppongmhjkpfnbhagpmjfkannfbllamg?hl=en&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3.Web Developer : What a weird name for an extension. What is does is far from weird though. It's amazing. This browser extension adds a little toolbar button with various web developer tools pertaining to images, forms etc.&lt;/p&gt;

&lt;p&gt;Here's how it looks&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fariv3hjq1zxry2jv160i.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fariv3hjq1zxry2jv160i.PNG" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Here is a direct link to add it to your browser : &lt;br&gt;
&lt;a href="https://chrome.google.com/webstore/detail/web-developer/bfbameneiokkgbdmiekhjnmfkcnldhhm" rel="noopener noreferrer"&gt;https://chrome.google.com/webstore/detail/web-developer/bfbameneiokkgbdmiekhjnmfkcnldhhm&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;4.Windows Resizer : Responsive web design is one of the most important aspects of development. This extension helps you re-size the browser's window in order to emulate various device resolutions. It helps web designers and developers test their layouts on different browser resolutions.&lt;br&gt;
The resolutions list is completely customizable (add/delete/re-order).&lt;br&gt;
You can set the window's width/height, window's position, preset icon (phone, tablet, laptop, desktop) and even the option to apply the new dimensions to the entire window or just to the viewport.&lt;br&gt;
It also features customizable global key shortcuts, an option to export your settings and import them on another computer! So amazing.&lt;/p&gt;

&lt;p&gt;Here is how it looks&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwr3ge1t3f2ilcoskrqb2.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwr3ge1t3f2ilcoskrqb2.PNG" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Here is a direct link to add it to your browser: &lt;a href="https://chrome.google.com/webstore/detail/window-resizer/kkelicaakdanhinjdeammmilcgefonfh?hl=en" rel="noopener noreferrer"&gt;https://chrome.google.com/webstore/detail/window-resizer/kkelicaakdanhinjdeammmilcgefonfh?hl=en&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;5.Check My Links : This browser extension is a link checker that crawls through your webpage and looks for broken links. It is well suited for web developers working on a web application or website with multiple links. It saves you the stress of manually searching for broken links. It highlights for you the links that are broken, valid, redirect to another page and more.. So handy.&lt;/p&gt;

&lt;p&gt;Here is how it looks&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fntf599s8omzkfbdih0mp.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fntf599s8omzkfbdih0mp.PNG" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Here is a direct link to add it to your browser : &lt;a href="https://chrome.google.com/webstore/detail/check-my-links/ojkcdipcgfaekbeaelaapakgnjflfglf?hl=en" rel="noopener noreferrer"&gt;https://chrome.google.com/webstore/detail/check-my-links/ojkcdipcgfaekbeaelaapakgnjflfglf?hl=en&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;6.What Font : Knowing what typefaces are used on web applications and websites has never been easier. With this extension, you could inspect web fonts by just hovering on them.It also detects the services used for serving web fonts. Supports Typekit and Google Font API.&lt;/p&gt;

&lt;p&gt;Here is how it looks&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Feb0ldgonotlvoucsvyeu.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Feb0ldgonotlvoucsvyeu.PNG" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Here is a direct link to add it to your browser : &lt;br&gt;
&lt;a href="https://chrome.google.com/webstore/detail/whatfont/jabopobgcpjmedljpbcaablpmlmfcogm?hl=en" rel="noopener noreferrer"&gt;https://chrome.google.com/webstore/detail/whatfont/jabopobgcpjmedljpbcaablpmlmfcogm?hl=en&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;7.ColorZilla : This is a browser extension that assists web developers and graphic designers with color related tasks. Simply hover over an element in a website or application to get all the information related to its color.  It includes a Color Picker, Eye Dropper, Gradient Generator and much more....&lt;br&gt;
It is very similar to Color By Fardos. Be sure to check that out too.&lt;/p&gt;

&lt;p&gt;Here is how it looks&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fjn94i01qb9hftfnlqeti.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fjn94i01qb9hftfnlqeti.PNG" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Here is a direct link to add it to your browser : &lt;br&gt;
&lt;a href="https://www.colorzilla.com/chrome/" rel="noopener noreferrer"&gt;https://www.colorzilla.com/chrome/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;8.Web Developer Checklist: This browser extension helps to analyze and check their websites or web applications for violations of best practices in web design. &lt;/p&gt;

&lt;p&gt;Here is how it looks&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F6i6tr6catc5614l1go7n.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F6i6tr6catc5614l1go7n.PNG" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Here is a direct link to add it to your browser : &lt;a href="https://chrome.google.com/webstore/detail/web-developer-checklist/iahamcpedabephpcgkeikbclmaljebjp?hl=en" rel="noopener noreferrer"&gt;https://chrome.google.com/webstore/detail/web-developer-checklist/iahamcpedabephpcgkeikbclmaljebjp?hl=en&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;9.CSS Viewer: This browser extension makes it so simple to access the CSS properties of an element by simply hovering over on it. It is very similar in functionality to the Code Cola extension. &lt;/p&gt;

&lt;p&gt;Here is how it looks&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F41jlw64qygvmwhy0rjmz.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F41jlw64qygvmwhy0rjmz.PNG" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Here is a direct link to add it to your browser :&lt;br&gt;
&lt;a href="https://chrome.google.com/webstore/detail/cssviewer/ggfgijbpiheegefliciemofobhmofgce?hl=en" rel="noopener noreferrer"&gt;https://chrome.google.com/webstore/detail/cssviewer/ggfgijbpiheegefliciemofobhmofgce?hl=en&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;10.Pesticide: This is the absolute easiest way to visualize box sizing in CSS. Don't believe me? Take a look at this. With pesticide, you see every element as a box with borders around them. See how the borders, margins, paddings and more affect the element. It is a pretty great extension.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F47axk834qvq3xmfzzoly.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F47axk834qvq3xmfzzoly.PNG" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Here is a direct link to add it to your browser:&lt;br&gt;
&lt;a href="https://chrome.google.com/webstore/detail/pesticide-for-chrome-with/eipbgplchlidkojmppclhkechkhmlefi?hl=en" rel="noopener noreferrer"&gt;https://chrome.google.com/webstore/detail/pesticide-for-chrome-with/eipbgplchlidkojmppclhkechkhmlefi?hl=en&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Which of these extensions will you be trying out? &lt;br&gt;
Comment below&lt;/p&gt;

&lt;p&gt;If you found this article useful, please share it. &lt;/p&gt;

&lt;p&gt;Contact Me :&lt;br&gt;
Twitter : &lt;a href="https://twitter.com/EfereyanK" rel="noopener noreferrer"&gt;https://twitter.com/EfereyanK&lt;/a&gt;&lt;/p&gt;

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