💜 Strings in JavaScript

String
↳ Primitive
↳ String Literals
↳ Single Quotes
↳ Double Quotes
↳ Back Tick
↳ String()
↳ Object
↳ new String()

Full Details Inside.

Let's explore

1️⃣ Primitive vs Object Type
2️⃣ Auto Convertible
3️⃣ Immutable
4️⃣ Easily Comparable
5️⃣ Array-Like
6️⃣ Spreadable
7️⃣ Possible to Destructure
1️⃣ Primitive vs Object Type

✪ In JavaScript, a string value can either be a primitive or, an object.

✪ What is Primitive?
A primitive is a data that is not an object and has no methods.
1️⃣.1️⃣ String Primitives

✪ String Primitives are created either by using String Literals or, String function [String()].

✪ A String Primitive has a separate data type: "string"
1️⃣.1️⃣.1️⃣ String Literals

✪ What is a String Literal?
String literals can be specified using single quotes ( ' ) or double quotes ( " ) or back tick characters ( ` ).

Example: 👇 Image
1️⃣.1️⃣.2️⃣ String Function

✪ String function can be called in a non-constructor context (i.e., without using the new keyword).

✪ This basically is used to convert data of other types to string.

✪ After conversion, it returns a string literal.

Example: 👇 Image
1️⃣.2️⃣ String Objects

✪ String primitives have a wrapper equivalent.

✪ String objects can be created using constructor of String type i.e., new String()

✪ It is mostly discouraged to create String objects manually as they mostly operate as wrappers of primitives. Image
2️⃣ Auto Convertible

✪ In contexts where a method is to be invoked on a primitive string or a property lookup occurs, JavaScript will automatically wrap the String primitive to a String object.

✪ And then call the method or perform the property lookup on the object. Image
3️⃣ Immutable

✪ By immutable, it means the original value (or, content) cannot be altered.

✪ Strings are immutable in JavaScript.

✪ None of the methods or, properties can alter the original string. When required to alter, they return a new string.

Example: 👇 Image
4️⃣ Easily Comparable

✪ In JavaScript, string literals can easily be compared using comparison operators like ==, !=, <, <=, >, >=.

Example: 👇 Image
5️⃣ Array-Like

✪ An Array-Like looks like an Array. It has a length property. It's iterable. And, its elements can be accessed using indexes.

✪ In JavaScript, strings are not real arrays, rather just array-like.

Example: 👇 Image
6️⃣ Spreadable

✪ Like an array, a string can also be used along with spread operator [...]

✪ Spread Operator Assignment returns a new array of all characters in the string.

Example: 👇 Image
7️⃣ Possible to Destructure

✪ Like an array, a string can also be destructured.

Let's see 👇 Image

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Swapna Kumar Panda ✨

Swapna Kumar Panda ✨ Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @swapnakpanda

9 Dec
💙 Built-In Data Structures

⇰ C++
⇰ Java
⇰ JavaScript
⇰ Python

Let's explore 👀

1️⃣ C++

The STL provides

⇥ array
⇥ vector
⇥ stack
⇥ queue
⇥ deque
⇥ priority_queue
⇥ forward_list
⇥ list
⇥ Set
⇥ unordered_set
⇥ multiset
⇥ unordered_multiset
⇥ Map
⇥ unordered_map
⇥ multimap
⇥ unordered_multimap
2️⃣ Java

⇥ ArrayList
⇥ LinkedList
⇥ HashSet
⇥ LinkedHashSet
⇥ TreeSet
⇥ HashMap
⇥ LinkedHashMap
⇥ WeakHashMap
⇥ TreeMap
⇥ Stack
⇥ PriorityQueue

Check "java.util" package. There are way too many classes/interfaces.
Read 5 tweets
4 Dec
💙 Are you new to DSA?

Attempt these 20 simple problems today to make your "logic building" strong.

1️⃣ Recursion

✪ Print a pattern (eg. triangle of numbers/asterisks)
✪ Sum of digits of a number
✪ Sum of natural numbers
✪ Factorial of a number
✪ Print Fibonacci Sequence
✪ Check if a string/number is palindrome
✪ Reverse a string/number/array
2️⃣ Divide and Conquer

✪ Find exponential of a number
✪ Search element in a sorted array/matrix
✪ Floor in a sorted array
✪ Merge 2 sorted arrays to create another sorted array
✪ Find median of 2 sorted arrays (same & different size)
✪ kth element in 2 sorted arrays
Read 4 tweets
3 Dec
💜 JavaScript Cheat Sheet

Converting any type of data to a Number, String and Boolean type.

There are few entries in the above cheat sheet that are marked with "Red Lines". That has a purpose.

Many would guess the output incorrectly. So those are for your attention.
If you want to check the v1.0 of this cheat sheet (which was published in September), check 👇

Read 5 tweets
2 Dec
💙 NaN in JavaScript

Operations evaluating to NaN
↳ Conversion to a Number
↳ Parsing to a Number
↳ Indeterminate Forms
↳ Math functions

Let's explore.

1️⃣ Conversion to a Number

Conversion happens in 2 ways in JavaScript

↳ Implicit Conversion
Operations where a number is expected
Example: Unary +, Binary - etc
↳ Explicit Conversion
Using Number() or, new Number()

Let's see what are evaluated to NaN Image
2️⃣ Parsing to a Number

There are 2 number parsing methods

↳ parseInt
↳ parseFloat

The process is,

✪ Leading and trailing spaces are ignored
✪ If the first character cannot be converted to a number, NaN is returned
✪ Only the first number found is returned
Read 5 tweets
1 Dec
🙏 🙏 🙏 🙏 🙏

Thank you November. More contents coming in December which you wouldn't like to miss.

⇨ DSA
⇨ SQL / NoSQL
⇨ JavaScript
⇨ HTML / CSS
⇨ Python
⇨ System Design

I will share everything from my 15 years of experience. Want to know more about me?

Image
↱ ↰
TECH STACK
↳ ↲

⇰ 2001-2006
↳ C🔹C++🔸DSA🔹Oracle

⇰ 2006-2016
↳ Java🔹JavaScript🔸HTML/CSS
↳ REST🔹MQs

⇰ 2016-2021
↳ React🔹MongoDB🔸GraphQL
↳ Python🔸ML
↳ Git🔹Cloud Computing
↱ ↰
FUTURE LEARNING
↳ ↲

⇰ 2022-~
↳ Docker🔹Kubernetes🔸Microservices
↳ Web 3🔹Blockchain🔸Ethereum
↳ Solidity🔹Rust

+++
Read 4 tweets
29 Nov
💙 7 Types of Algorithms

↳ Brute Force
↳ Recursive
↳ Divide & Conquer
↳ Greedy
↳ Dynamic
↳ Backtracking
↳ Randomised

1️⃣ Brute Force Algorithm

✪ It is the most common type of algorithm. Every problem can be solved by brute force approach although generally not most effective.

✪ To design an optimal solution, we need to get a solution first at least and then it may be optimised.
2️⃣ Recursive Algorithm

✪ Recursion simply means calling itself to solve its subproblems.

Example: Factorial(n) = n * Factorial(n-1)
Read 10 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(