How to understand this..?

i know that “n=n+1” his also equal to “n+=1” but i don’t now how to understand it help me to understand this please…

n += 1 is shorthand for n = n + 1. It’s a common thing to want to do. So there’s shorthand for it so that it’s easier to write. There isn’t anything more to it than that.

yes, i know that but what is meant by “+=” that is written why not this"=+"…???

yes, i know that but what is meant by “+=” that is written why not this"=+"…???

Because the writers of JS decided to use += and not =+. They inherited that from older languages. If we write our own language, we could use =+ or whatever we want.

There also may be a practical reason. In JS, there is the unary plus operator (+) that converts to a number. That could create ambiguity. If I have:

const numString = "127";
let num = 42;

num =+ numString; // Our new operator - What would it mean?

What would that last line mean?

Would it mean:

num = num + numString: // "42127"

or

num = Number(numString); // 127

Don’t worry too much about the why or arbitrary language decisions. There is often a history there. I would worry more about just learning what the language is, and how it works.

3 Likes

Remember that = is the assignment operator and does not represent equality.
What we are doing when we use = is putting a new value into a variable.
In the case of n = n + 1, it is changing the value of n to hold its old value plus one.

let n = 2;
console.log(n); // 2
n = n + 1;
console.log(n); // 3
n += 1;
console.log(n); // 4

Thank you Mr.Kevin.smith it helps me a lot…

Thank you ArielLeslie for your help…

we need to flip the signs because =+ already has a use:

var n=5  //we create var 'n' and make it equal 5
n=+3  //we change the value of n, its now 3
n=-2  //we change the value of n, its now -2
n+=5  //this time, we dont change the value to 5, we add 5 to the existing value
n-=3  //here we subtract 3 from the existing value
n=-3  //here we make n be equal -3

do you see why we cant use =+ to add, or =- to subtract from the existing value? There already is operation assigned to this expression. And since its common practice to make some calculations with the current value of a variable, the JS creators came up with the obvious shorthand expression

1 Like

Ah yeah, this is the reason why @muhammadusman75rb

Space has no meaning in JS, space is only added to code to make it easier for humans to read.

n =+ 1 is exactly the same as n = +1 is exactly the same as n = + 1 is exactly the same as n=+1.

It’s easier to have the + on the other side, then if you’re designing the language you don’t need elaborate rules to allow the computer to figure out that the programmer wanted to do that particular thing

2 Likes

Don’t ever write n += 1 or n =+ 1… just write n = n + 1 . It’s much easier to understand and you’ll save yourself a lot of trouble.

I’m sorry, but I disagree with this. Anyone with coding experience understands +=. I agree that we shouldn’t write n =+ 1, though I might write n = +x if I wanted to coerce x to a number.

By your logic I shouldn’t use arrow functions or destructuring or rest operators because they confuse beginners. I’ve worked with developers that didn’t understand how the reduce method works - but I’m not going to stop using it. My audience is made up of experienced developers so I assume good knowledge of JS. As it goes, += is not particularly confusing or obscure (no shade to the OP).

I agree that we shouldn’t use arcane notation that creates a comprehension puzzle, but the += is used in many computer languages and is a standard operator in JS. Personally, I think n += 1 is slightly easier to read than n = n + 1 - there is one less symbol to mentally process. And of course n++ is easiest of all - I look at it and I instantly know what it is doing.

And I think if you start telling other devs that “I don’t think we should use += because it might confuse people” … I think you are going to get some rolled eyes.

For the record, I’ve never encountered a working dev that was even slightly confused by +=. (Again, no insult to the OP - we all start somewhere.)

2 Likes

It’s the type of shorthand that it might be good to avoid while you’re unfamiliar with reading and writing code, but += is a convention that you’ll get pretty used to over time and eventually probably prefer. If you ever end up working with a team of developers this type of convention is the sort of thing that will need to be part of a shared agreement, one way or the other.

2 Likes

agreement += 1

I am all for avoiding unreasonably terse syntax, but += is pretty common across many languages. You’ll want to conform to the conventions for whatever project you are a part of.

1 Like

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.