<?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: yogeshwaran</title>
    <description>The latest articles on DEV Community by yogeshwaran (@yogeshktm).</description>
    <link>https://dev.to/yogeshktm</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%2F214860%2Fd23c7700-508f-4f38-800b-5535a0fbac7a.png</url>
      <title>DEV Community: yogeshwaran</title>
      <link>https://dev.to/yogeshktm</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/yogeshktm"/>
    <language>en</language>
    <item>
      <title>let,const &amp; old var revisited</title>
      <dc:creator>yogeshwaran</dc:creator>
      <pubDate>Fri, 29 Mar 2024 03:49:07 +0000</pubDate>
      <link>https://dev.to/yogeshktm/letconst-old-var-revisited-g8</link>
      <guid>https://dev.to/yogeshktm/letconst-old-var-revisited-g8</guid>
      <description>&lt;p&gt;Every application in real life we need some temporary storage to save, process and get output from it. They are called variables.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A variable is a “named storage” for data. We can use variables to store cart, visitor count, and other data.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Let
&lt;/h2&gt;

&lt;p&gt;We can store variable data in let by using let keyword&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;str1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// variable created&lt;/span&gt;
&lt;span class="nx"&gt;str1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Message&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="c1"&gt;// Value assigned to a variabled&lt;/span&gt;

&lt;span class="c1"&gt;// we can assign while declaring a variable&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;str2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;message&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

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

&lt;/div&gt;



&lt;p&gt;It is possible to declare multiple let variables in a single line but it is recommended to keep in each line for better readability&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Not recommended&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;newStr&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;content1&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;str2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Content2&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;str3&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Content3&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// Best practice &lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;newStr&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;content1&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;str2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;content2&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;str3&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;content3&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

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

&lt;/div&gt;



&lt;h3&gt;
  
  
  Variable naming in LET
&lt;/h3&gt;

&lt;p&gt;There are some limitations on variable names in JavaScript:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The name must contain only letters, digits, or the symbols $ and _.&lt;/li&gt;
&lt;li&gt;The first character must not be a digit.&lt;/li&gt;
&lt;li&gt;We can't use reserve keywords for naming variables like let, class, return, and function, and more&lt;/li&gt;
&lt;li&gt;Case sensitive : gender and GENDER are considered as different
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Valid names &lt;/span&gt;

&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;userGender&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;test123&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// Invalid &lt;/span&gt;

&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;gender&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// Hypens not allowed &lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// Should not start with number &lt;/span&gt;

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

&lt;/div&gt;



&lt;h2&gt;
  
  
  Const
&lt;/h2&gt;

&lt;p&gt;To store constant values which can't be modified by any operations, we use CONST keyword.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;gender&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;male&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nx"&gt;gender&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;female&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="c1"&gt;//error can't reassign the const&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Naming CONST
&lt;/h3&gt;

&lt;p&gt;It is a best practice across industry to name CONSTANTS in full caps with underscores.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;DATE_OF_BIRTH&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;18&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="mi"&gt;02&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="mi"&gt;1998&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

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

&lt;/div&gt;



&lt;h2&gt;
  
  
  old VAR
&lt;/h2&gt;

&lt;p&gt;VAR is the old way of declaring variables in javascript which is similar to LET. It's generally not used in modern javascript due to its different limitations and behavior. &lt;/p&gt;

&lt;h3&gt;
  
  
  var has no BLOCK scope
&lt;/h3&gt;

&lt;p&gt;Variables declared with var are not either has block or function scope.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// var lives even after if blocks&lt;/span&gt;
&lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;isOpen&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// use "var" instead of "let"&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nf"&gt;alert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;isOpen&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// true;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Rewrite with let&lt;/span&gt;
&lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;isOpen&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// use "var" instead of "let"&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nf"&gt;alert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;isOpen&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// Reference error&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Redeclaration is possible with var
&lt;/h3&gt;

&lt;p&gt;We can redeclare any variables using var and it won't throw any erros.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;kate&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;winslet&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// winslet &lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Hoisting with 'var'
&lt;/h3&gt;

&lt;p&gt;There is a famous interview question Explain hoisting in javascript  . Variables declared with var and moved to top by default. This behavior of moving up is known as hoisting&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Value assigned before creating variable.&lt;/span&gt;
&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;sayHi&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;phrase&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Hi&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nf"&gt;alert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;phrase&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;phrase&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nf"&gt;sayHi&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt; &lt;span class="c1"&gt;// Hi&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;But we should understand that only declarations are hoisted not assignment.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;sayHi&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nf"&gt;alert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;phrase&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;phrase&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Hello&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nf"&gt;sayHi&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt; &lt;span class="c1"&gt;// undefined&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To mitigate the limitations of scoping in var. developers used concept called IIFE - Immediately invoked function expression.&lt;/p&gt;

&lt;h4&gt;
  
  
  Summary
&lt;/h4&gt;

&lt;p&gt;Let  - used to declare varying variables&lt;br&gt;
CONST  - used to store constant variables&lt;br&gt;
Var - Old textbook way Don't use now &lt;/p&gt;

&lt;p&gt;Hope we are refreshing good parts of javascript. I will come up with more interview part in upcoming parts. Subscribe and follow up for upcoming posts.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>webdev</category>
      <category>javascriptrefresher</category>
    </item>
    <item>
      <title>Data types in javascript</title>
      <dc:creator>yogeshwaran</dc:creator>
      <pubDate>Sun, 24 Mar 2024 00:27:00 +0000</pubDate>
      <link>https://dev.to/yogeshktm/data-types-in-javascript-5enp</link>
      <guid>https://dev.to/yogeshktm/data-types-in-javascript-5enp</guid>
      <description>&lt;p&gt;Javascript is a &lt;strong&gt;dynamically typed&lt;/strong&gt; language. Values are not bound to any of the data type. Javascript itself responsible for handling data types of the values &lt;/p&gt;

&lt;p&gt;It is also a &lt;strong&gt;weakly typed&lt;/strong&gt; language, which means it allows &lt;strong&gt;implicit type conversion&lt;/strong&gt; when an operation involves mismatched types, instead of throwing type errors.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;num&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;24&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// num is a number&lt;/span&gt;
&lt;span class="cm"&gt;/* JavaScript converts num to a string, 
so it can be concatenated with the other operand */&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;num&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;1&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;result&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// 241&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Primarily there are 7 primitive data types in javascript &lt;/p&gt;

&lt;p&gt;1.Number&lt;br&gt;
2.BigInt&lt;br&gt;
3.String&lt;br&gt;
4.Boolean&lt;br&gt;
5.null&lt;br&gt;
6.undefined&lt;br&gt;
7.symbol&lt;/p&gt;
&lt;h2&gt;
  
  
  1.Number
&lt;/h2&gt;

&lt;p&gt;Number represents both &lt;strong&gt;integer **and **floating point&lt;/strong&gt; numbers. &lt;strong&gt;NaN&lt;/strong&gt; ("Not a Number") is a special kind of number value that's typically encountered when the result of an arithmetic operation cannot be expressed as a number. It is also the only value in JavaScript that is not equal to itself.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;num1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;245&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

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

&lt;/div&gt;



&lt;h2&gt;
  
  
  2.BigInt
&lt;/h2&gt;

&lt;p&gt;Javascript 'Number' datatype cannot safely represents integers which are larger than &lt;strong&gt;2&lt;sup&gt;53&lt;/sup&gt; - 1&lt;/strong&gt; which is 9007199254740991.&lt;/p&gt;

&lt;p&gt;We can't store values larger than this in number data type. This data type is used by adding *&lt;em&gt;n *&lt;/em&gt; at the end of integer.&lt;/p&gt;

&lt;p&gt;In real time we don't required this large numbers in operations.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;largeNum&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;9007199254740993&lt;/span&gt;&lt;span class="nx"&gt;n&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  3.String
&lt;/h2&gt;

&lt;p&gt;String in javascript must be surronded by &lt;strong&gt;single/double quotes&lt;/strong&gt; or &lt;strong&gt;backticks&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;Backticks are also known as &lt;strong&gt;template literals&lt;/strong&gt; which is used to concatenate string along with variables.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;str1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;This is a string&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;str2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;This is also a string&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;str3&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;str1&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; with backtick`&lt;/span&gt; 
&lt;span class="c1"&gt;// This is also a string with backtick&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  4.Boolean
&lt;/h2&gt;

&lt;p&gt;Boolean represents **truthiness **of the variable. It is always true or false or 0 or 1.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;y&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;z&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="nx"&gt;y&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// True&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;y&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="nx"&gt;z&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// false&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  5.Null
&lt;/h2&gt;

&lt;p&gt;Special null values does not belong to any of the other data types.  Mostly used when there is no value assigned while intialization.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;foo&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;//ReferenceError: foo is not defined&lt;/span&gt;
&lt;span class="c1"&gt;// foo is known to exist now but it has no type or value:&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;foo&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nx"&gt;foo&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;//null&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  6.Undefined
&lt;/h2&gt;

&lt;p&gt;If a variable is declared and &lt;strong&gt;not assigned&lt;/strong&gt; it is said to be undefined. &lt;/p&gt;

&lt;p&gt;Technically it is possible to assigned undefined to any variables but it is not recommended to use it. Instead use null and undefined will be reserved for unknown undefined values only. &lt;/p&gt;

&lt;h2&gt;
  
  
  7.Symbols
&lt;/h2&gt;

&lt;p&gt;Symbol is a built-in object whose constructor returns a symbol primitive — also called a Symbol value or just a Symbol — that's guaranteed to be unique. Symbols are often used to add &lt;strong&gt;unique property keys&lt;/strong&gt; to an object that won't collide with keys any other code might add to the object.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;sym1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Symbol&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;cat&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;sym2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Symbol&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;cat);
console.log(sym1 === sym2); //False

&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  typeof operator in javascript
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;typeof&lt;/strong&gt; is a operator which is used to find datatype of any value.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;a&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;22&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;b&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;test&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;c&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;22&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;typeof&lt;/span&gt; &lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// number &lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;typeof&lt;/span&gt; &lt;span class="nx"&gt;b&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// string&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;typeof&lt;/span&gt; &lt;span class="nx"&gt;c&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// string &lt;/span&gt;

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

&lt;/div&gt;



&lt;p&gt;Hope you are started refreshing your javascript skills. follow me and subscribe for more posts like this. Feel free to comment any suggestions or doubts&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>javascriptrefresher</category>
      <category>webdev</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Intro to javascript</title>
      <dc:creator>yogeshwaran</dc:creator>
      <pubDate>Sat, 23 Mar 2024 13:34:40 +0000</pubDate>
      <link>https://dev.to/yogeshktm/intro-to-javascript-4bn4</link>
      <guid>https://dev.to/yogeshktm/intro-to-javascript-4bn4</guid>
      <description>&lt;p&gt;Hi Everyone.&lt;/p&gt;

&lt;p&gt;As i am brushing up my knowledge in Javascript and their frameworks. i have planned to post a series of posts what i have learned now and then. Follow the series for refresh your knowledge in javascript. &lt;/p&gt;




&lt;p&gt;Javascript is a &lt;strong&gt;light weight&lt;/strong&gt;, &lt;strong&gt;Cross platform&lt;/strong&gt;, object oriented **scripting **language which primarily runs of web browsers and in servers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Interpreted or compiled
&lt;/h2&gt;

&lt;p&gt;Interpreted languages runs code from top to bottom and execute result immediately while compiled languages converts the code to binary format and execute it. &lt;/p&gt;

&lt;p&gt;Javascript is a interpreted language but from a technical point most javascript interpreters use &lt;strong&gt;Just-in-time compilation&lt;/strong&gt; to improve performance and faster execution of the javascript code. &lt;/p&gt;

&lt;h2&gt;
  
  
  Javascript engine
&lt;/h2&gt;

&lt;p&gt;JavaScript engine is simply a computer program that executes JavaScript code. It is responsible for translating human-readable JavaScript code into machine-readable instructions that the computer's hardware can execute.&lt;/p&gt;

&lt;p&gt;Old javascript engines are mere compilers but modern javascript engines like v8 use just-in-time compilation to improve performance. &lt;/p&gt;

&lt;p&gt;Popular javascript engines are &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;*&lt;em&gt;v8 *&lt;/em&gt;: Used in chrome and node &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Spider monkey&lt;/strong&gt; : Used in firefox browser&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Javascript core&lt;/strong&gt; : powered safari &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Single threaded or multi threaded
&lt;/h2&gt;

&lt;p&gt;It is a &lt;strong&gt;single threaded synchronous language&lt;/strong&gt; which can execute &lt;strong&gt;only one command at a time&lt;/strong&gt; in a specific order.&lt;/p&gt;

&lt;h2&gt;
  
  
  Client side or server side
&lt;/h2&gt;

&lt;p&gt;javascript is initially a client side scripting language which runs mostly on browser. but now a days modern javascript runs on both Client (browsers), Server side(Node) and almost everywhere from desktop to mobile applications. &lt;/p&gt;

&lt;p&gt;To be continued...&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>javascriptrefresherseries</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Why tailwind is trending recently ?</title>
      <dc:creator>yogeshwaran</dc:creator>
      <pubDate>Thu, 21 Jan 2021 15:28:07 +0000</pubDate>
      <link>https://dev.to/yogeshktm/why-tailwind-is-trending-recently-1d2k</link>
      <guid>https://dev.to/yogeshktm/why-tailwind-is-trending-recently-1d2k</guid>
      <description></description>
      <category>discuss</category>
    </item>
    <item>
      <title>Media query for dark mode in css</title>
      <dc:creator>yogeshwaran</dc:creator>
      <pubDate>Wed, 20 Jan 2021 00:00:00 +0000</pubDate>
      <link>https://dev.to/yogeshktm/media-query-for-dark-mode-in-css-10e2</link>
      <guid>https://dev.to/yogeshktm/media-query-for-dark-mode-in-css-10e2</guid>
      <description>&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%2Fog8cet9uqdbxanz0v1vy.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%2Fog8cet9uqdbxanz0v1vy.png" alt="Dark mode css"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Its 2021 almost every android,ios and windows devices have the option to choose light/dark mode as their preferable mode. its nice to have dark/light mode in your websites. Fancy isn't it ?&lt;/p&gt;

&lt;h3&gt;
  
  
  Media query for Dark mode
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@media (prefers-color-scheme: dark) {
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;if your website theme is already have dark backrounds and light text. you can do it in reverse by adding light mode media query.&lt;/p&gt;

&lt;h3&gt;
  
  
  Media query for Light mode
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@media (prefers-color-scheme: light) {
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you are not using css variables or any preprocessors in your website. you need to overwrite most of the color for having it in dark/light mode.&lt;/p&gt;

&lt;h3&gt;
  
  
  CSS Variables are handy
&lt;/h3&gt;

&lt;p&gt;Using css variables it is easy to setup colors for dark/light mode in a simple way by replacing color variables in media query&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;:root {
  --background: #fff;
  --text-color: #323232;
}

// Dark mode
@media (prefers-color-scheme: dark) {
  :root {
    --background: #323232;
    --text-color: #fff;
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Live example
&lt;/h3&gt;

&lt;p&gt;Try switching dark and light mode in your device and see how the below page renders&lt;/p&gt;

&lt;p&gt;See the Pen &lt;a href="https://codepen.io/yoyo/pen/wvzOXzN" rel="noopener noreferrer"&gt;Media query for dark mode&lt;/a&gt; by yogeshwaran&lt;br&gt;
  (&lt;a href="https://codepen.io/yoyo" rel="noopener noreferrer"&gt;@yoyo&lt;/a&gt;) on &lt;a href="https://codepen.io" rel="noopener noreferrer"&gt;CodePen&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Feel free to ask me in case of doubts. i am very much happy to help you.&lt;/p&gt;

</description>
      <category>css</category>
      <category>darkmode</category>
      <category>mediaquery</category>
    </item>
    <item>
      <title>Position:sticky</title>
      <dc:creator>yogeshwaran</dc:creator>
      <pubDate>Thu, 07 Jan 2021 00:00:00 +0000</pubDate>
      <link>https://dev.to/yogeshktm/position-sticky-39cj</link>
      <guid>https://dev.to/yogeshktm/position-sticky-39cj</guid>
      <description>&lt;p&gt;Hello everyone, Welcome to my first post of 2021.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is position:sticky ?
&lt;/h2&gt;

&lt;p&gt;Sticky is simply the combination of fixed and relative positions. Sticky Elements remain relative untill it touches the declared threshold level.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.sticky{
  position:sticky;
  //Related Elements become fixed at their top:0
  top:0;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Simple example of sticky - Article with sub titles
&lt;/h3&gt;

&lt;p&gt;See the Pen &lt;a href="https://codepen.io/yoyo/pen/aeWYpO"&gt;position:sticky &lt;/a&gt; by yogeshwaran&lt;br&gt;
  (&lt;a href="https://codepen.io/yoyo"&gt;@yoyo&lt;/a&gt;) on &lt;a href="https://codepen.io"&gt;CodePen&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can i use sticky in my project ?
&lt;/h3&gt;

&lt;p&gt;All latest browser supports sticky except in HTML table’s th or tr.If you are not considering IE11. you should definetly give a try on this.&lt;/p&gt;

&lt;p&gt;See Browser support table &lt;a href="https://caniuse.com/css-sticky"&gt;here&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>My best codepens of all time</title>
      <dc:creator>yogeshwaran</dc:creator>
      <pubDate>Sat, 08 Aug 2020 00:00:00 +0000</pubDate>
      <link>https://dev.to/yogeshktm/my-best-codepens-of-all-time-f9i</link>
      <guid>https://dev.to/yogeshktm/my-best-codepens-of-all-time-f9i</guid>
      <description>&lt;p&gt;If you are a frontend developer definetly you visited codepen once or frequently. i have used codepen extensively during last few years as a documentation and experimental playground.&lt;/p&gt;

&lt;p&gt;some days tried #100dayscss and challenged myself for learning javascript by series of codepens.&lt;/p&gt;

&lt;p&gt;Here i have listed some of my best codepens which might be useful for you in someway.you can see &lt;a href="https://codepen.io/yoyo"&gt;My codepen profile&lt;/a&gt; here.&lt;/p&gt;

&lt;h2&gt;
  
  
  1.Animation using scss loops
&lt;/h2&gt;

&lt;p&gt;See the Pen &lt;a href="https://codepen.io/yoyo/pen/MzeZvy"&gt;100dayscss-44 &lt;/a&gt; by yogeshwaran&lt;br&gt;
  (&lt;a href="https://codepen.io/yoyo"&gt;@yoyo&lt;/a&gt;) on &lt;a href="https://codepen.io"&gt;CodePen&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  2.CSS only bulb
&lt;/h2&gt;

&lt;p&gt;See the Pen &lt;a href="https://codepen.io/yoyo/pen/OaXLrg"&gt;100dayscss-43&lt;/a&gt; by yogeshwaran&lt;br&gt;
  (&lt;a href="https://codepen.io/yoyo"&gt;@yoyo&lt;/a&gt;) on &lt;a href="https://codepen.io"&gt;CodePen&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  3.User friendly 404 page
&lt;/h2&gt;

&lt;p&gt;See the Pen &lt;a href="https://codepen.io/yoyo/pen/wYewNq"&gt;User friendly 404 page&lt;/a&gt; by yogeshwaran&lt;br&gt;
  (&lt;a href="https://codepen.io/yoyo"&gt;@yoyo&lt;/a&gt;) on &lt;a href="https://codepen.io"&gt;CodePen&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  4.Single div Coffee cup
&lt;/h2&gt;

&lt;p&gt;See the Pen &lt;a href="https://codepen.io/yoyo/pen/eQvKxg"&gt;#codevember - 14 - Single div coffee cup&lt;/a&gt; by yogeshwaran&lt;br&gt;
  (&lt;a href="https://codepen.io/yoyo"&gt;@yoyo&lt;/a&gt;) on &lt;a href="https://codepen.io"&gt;CodePen&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  5.Guess the number javascript game
&lt;/h2&gt;

&lt;p&gt;See the Pen &lt;a href="https://codepen.io/yoyo/pen/Wqemrz"&gt;Guess the number #Javascript&lt;/a&gt; by yogeshwaran&lt;br&gt;
  (&lt;a href="https://codepen.io/yoyo"&gt;@yoyo&lt;/a&gt;) on &lt;a href="https://codepen.io"&gt;CodePen&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>css</category>
      <category>codepen</category>
      <category>learning</category>
    </item>
    <item>
      <title>SCSS Mixins and snippets you must use in all projects</title>
      <dc:creator>yogeshwaran</dc:creator>
      <pubDate>Sun, 02 Aug 2020 00:00:00 +0000</pubDate>
      <link>https://dev.to/yogeshktm/scss-mixins-and-snippets-you-must-use-in-all-projects-4ec8</link>
      <guid>https://dev.to/yogeshktm/scss-mixins-and-snippets-you-must-use-in-all-projects-4ec8</guid>
      <description>&lt;p&gt;We all should accept css preprocessors like scss/less makes our(developer) life easier. Variables and nestings helps us to maintain a quality code and we are not yet using the most powerful feature of all MIXINS.&lt;/p&gt;

&lt;p&gt;Mixins are really helpful in lot of ways. But when to use mixin is the key and if you are creating a mixin. you must follow the golden rule.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Mixins without arguments are bad&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Here are the few mixins that can be used in all projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  1.Ellipsis
&lt;/h2&gt;

&lt;p&gt;Adding a ellipis to your website text is not simple. but when you have this handy mixin you just need to include the mixin with the number of lines as a argument.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;@include text-shorten(2);&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;For single line ellipsis you have to pass null.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;@include text-shorten(null);&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Note : Line clamp is not supported in internet explorer.Don’t use if you are supporting IE 11 or below.&lt;/p&gt;

&lt;p&gt;See the Pen &lt;a href="https://codepen.io/yoyo/pen/OJVXKze"&gt;@mixin ellipsis&lt;/a&gt; by yogeshwaran&lt;br&gt;
  (&lt;a href="https://codepen.io/yoyo"&gt;@yoyo&lt;/a&gt;) on &lt;a href="https://codepen.io"&gt;CodePen&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  2.Linear gradients
&lt;/h2&gt;

&lt;p&gt;Linear gradients are fancy and adding all those syntax with fallback is little tricky.&lt;/p&gt;

&lt;p&gt;See the Pen &lt;a href="https://codepen.io/yoyo/pen/wvazwjd"&gt;wvazwjd&lt;/a&gt; by yogeshwaran&lt;br&gt;
  (&lt;a href="https://codepen.io/yoyo"&gt;@yoyo&lt;/a&gt;) on &lt;a href="https://codepen.io"&gt;CodePen&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  3.Generate dynamic classes for icon fonts
&lt;/h2&gt;

&lt;p&gt;If you are using custom iconfont like icomoon you may require to use the classes generated from the iconfont generator. instead you can add all icons in a key value pair and use @each function in scss to create icon classes and add the respective unicode to them.&lt;/p&gt;

&lt;p&gt;Click view compiled to see the compiled css results.&lt;/p&gt;

&lt;p&gt;See the Pen &lt;a href="https://codepen.io/yoyo/pen/LYGKPob"&gt;Dynamically generate icon font classes in scss&lt;/a&gt; by yogeshwaran&lt;br&gt;
  (&lt;a href="https://codepen.io/yoyo"&gt;@yoyo&lt;/a&gt;) on &lt;a href="https://codepen.io"&gt;CodePen&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>scss</category>
      <category>mixins</category>
      <category>frontend</category>
    </item>
    <item>
      <title>Front end Developer blogs to follow in 2020</title>
      <dc:creator>yogeshwaran</dc:creator>
      <pubDate>Mon, 03 Feb 2020 00:00:00 +0000</pubDate>
      <link>https://dev.to/yogeshktm/front-end-developer-blogs-to-follow-in-2020-2kmi</link>
      <guid>https://dev.to/yogeshktm/front-end-developer-blogs-to-follow-in-2020-2kmi</guid>
      <description>&lt;p&gt;Hey guys&lt;/p&gt;

&lt;p&gt;After a too enthusiastic first ‘new beginning’ post. i don’t have any new ideas or i didn’t do anything apart from my regular office work to blog a post. so in order to break the ice. I would like to introduce some of the best developers blogs i follow.&lt;/p&gt;

&lt;h2&gt;
  
  
  Dave cedia
&lt;/h2&gt;

&lt;p&gt;React Guy. He writes mostly on react,redux,svelte and everything frontend. He runs couple of courses on react Pure react and pure redux. Follow him on&lt;/p&gt;

&lt;p&gt;&lt;a href="https://daveceddia.com/"&gt;https://daveceddia.com/&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Florin pop
&lt;/h2&gt;

&lt;p&gt;Florin pop is well known for his challenges. He is a inspirational front end developer who blogs mostly on frontend. He recently completed his 100 days 100 project &lt;a href="https://www.florin-pop.com/blog/2019/09/100-days-100-projects/"&gt;challenge&lt;/a&gt;. currently he is working on 30 days 30 video challenges. i am always wonder how he work on these apart from the regular work.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.florin-pop.com/"&gt;https://www.florin-pop.com&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Tania rascia
&lt;/h2&gt;

&lt;p&gt;Tania rascia is a full stack developer. She blogs mostly on modern javascript,css and everything frontend. She also Won 3rd place for &lt;a href="https://hackernoon.com/personal-developer-blog-of-the-year-hacker-noon-noonies-awards-2019-hz2tu32ql"&gt;Personal Developer Blog of the Year 2019 - Hackernoon.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.taniarascia.com/"&gt;https://www.taniarascia.com/&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Chris ferdinandi
&lt;/h2&gt;

&lt;p&gt;Vannila javascript expert. Chris runs couple of &lt;a href="https://vanillajsacademy.com/"&gt;training programs&lt;/a&gt; on javascript. His &lt;a href="https://gomakethings.com/articles"&gt;developer tips newsletter&lt;/a&gt; is read by over 7000+ develooper each day/.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://gomakethings.com/"&gt;https://gomakethings.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I will introduce more blogs to you over the time because sharing is always caring.&lt;/p&gt;

</description>
      <category>developerblogs</category>
      <category>sharing</category>
    </item>
    <item>
      <title>New beginning</title>
      <dc:creator>yogeshwaran</dc:creator>
      <pubDate>Tue, 10 Sep 2019 00:00:00 +0000</pubDate>
      <link>https://dev.to/yogeshktm/new-beginning-2mek</link>
      <guid>https://dev.to/yogeshktm/new-beginning-2mek</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;“It is never too late to be what you might have been.” —George Eliot&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It is very hard to start something new even it is the thing you love most. Web designing is my passion and profession since 2013. But lauching a simple personal website/blog for me become a nightmare. Why ?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Thinking too much.🤔&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I have developed various layouts for my new website, Bought a different domain name every year, Looking for the cool brand name and nothing works so far.Over thinking paralyzed my brain 🤯.So Finally stopped thinking and started a simple blog with standard theme and some css tinkering for my satisfaction. thats it MY BLOG is live now and you are reading my first post 👏👏👏.&lt;/p&gt;

&lt;p&gt;Blogging is not new to me. I can proudly say i am a Tamil blogger running a blog called &lt;a href="http://jillthanni.blogspot.com/"&gt;Jillthanni&lt;/a&gt;.Even though it is full of my bla bla thought and memories i can carry through the little experience to run this a new.&lt;/p&gt;

&lt;p&gt;I have planned to use this blog as a materialistic partner to document my learnings in Web design,css and whatever in front end development.&lt;/p&gt;

&lt;p&gt;Since this is my first post i have to short introduce myself.&lt;/p&gt;

&lt;p&gt;Yogeshwaran - Weaving web since 2013 - Coffee addict - Adorable husband to a beautiful wife - Occasional book worm.&lt;/p&gt;

&lt;p&gt;See you soon in upcoming posts.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
