Skip to main content

'this' in functional vs arrow function in javascript

 The arrow function cannot be invoked with the new keyword, because arrow functions don’t have a constructor. If you try to instantiate with a new keyword it will throw an error.

No own this (call, apply & bind won’t work as expected)

In a traditional function, its internal this value is dynamic, it depends on how the function is invoked. For example:

Unlike regular functions, arrow functions don’t have their own this binding. If we access this in the arrow function it will return the this of the closest non-arrow parent function.

The value of this in the arrow function is determined at the time of declaration and never changes. So callapplybind cannot change the value of the arrow function this.

Comments

suggestions

Popular posts from this blog

how can we make money with chatGPT?

  There are several ways you can make money using ChatGPT, including: Developing and selling chatbot applications: You can use ChatGPT to create chatbot applications for businesses, such as customer service bots or virtual assistants. Providing language generation services: You can use ChatGPT to generate written content, such as articles, blog posts, or product descriptions, for businesses or individuals. Building and training custom language models: You can use ChatGPT to build and train custom language models for specific industries or use cases, and then sell access to those models. Creating and selling conversational AI games and apps. Creating and selling educational content generated by ChatGPT Creating a natural language understanding service for customer service or other purposes. Keep in mind that these are just a few examples, and there are many other ways you can use ChatGPT to generate income. It is also important to comply with any legal and ethical guidelines related...

Why "F" and "L" suffix | (10.0F, 10L)

Let us take it this way, We will create their needs. So we will get why they are needed. Try to guess, which functions will be executed in the following program: public class MyClass {     public static void main(String args[]) {         MyClass obj = new MyClass();         obj.fun1(10);     }     void fun1(byte val){         System.out.println(val);     }     void fun1(int val){         System.out.println(val);     }     void fun1(float val){         System.out.println(val);     }     void fun1(long val){         System.out.println(val);     }     } It seems like every method is capable to run this program because 10 is still literal because It has no data type. Before Java, In previous technologies, this scenario gave an ambiguity...

Precedence and Associativity of Java operators

Precedence is the order to solve the operators. For simplicity, let's see the table Operator (Higher to Lower Precedence)   Operators Precedence postfix expr ++ expr -- unary ++ expr -- expr + expr - expr ~ ! multiplicative * / % additive + - shift << >> >>> relational < > <= >= instanceof equality == != bitwise AND & bitwise exclusive OR ^ bitwise inclusive OR | logical AND && logical OR || ternary ? : assignment = += -= *= /= %= &= ^= |= <<= >>= >>>= Now, If we take an example and try to solve an expression, There can be a case of operators with the same precedence . ex. 10 * 20 / 4 % 2 When operators of equal precedence appear in the same expression, a rule must govern which is evaluated first. Now we use their Associativity. There is two kind of Associativity: Left to Right Right to Left For Unary Operators: Except the pos...