EtoC

Math Expression 본문

Language/JavaScript

Math Expression

게리드 2023. 7. 31. 13:24

1. 수학 표현식

JavaScript는 코드에 숫자 데이터타입과 사칙연산같은 수학 표현식을 사용하여 숫자를 계산할 수 있다.

2. 생소한 수학 표현식

1. ++ / - -

++는 변수의 값에 1을 간단하게 더할 수 있게 해준다.
반대로 -- 는 변수에서 1을 빼준다.

참고로 const를 사용하면 값을 재할당을 할수 없어 에러가 뜬다.

증감연산자를 사용하는경우 ++/--의 위치에따라 다르게 사용하기때문에 주의해야한다.
++를 하면 1이 붙어서 나올것같지만 실제로는 다른값이 나올수 있다.

1) number++

아래의 코드는 어떤 값이 나올까?

let a = 1;
let aPlus = a++;

나는 1과 2가 나올줄 알았는데, 답은 2와 1이였다.

이렇게 나온 이유는 대개 코드는 위에서부터 스캔하기도하지만 동시에 왼쪽에서 오른쪽으로 스캔하기도해서이다.
let aPlus = a먼저 처리하고 그 뒤에 ++를 하기때문에 aPlus에 a가 먼저 할당되어버리고 ++가 적용이 되지 않기때문이다.

num++를 사용할경우 선언된 변수를 사용하고 1씩 증가시키고 싶을때 사용하면 된다.

2) ++number

++num은 변수를 1증가 시킨뒤 사용하고 싶을때 쓰면된다.

아래의 코드처럼 ++를 앞에 적으면 같은 값이 나온다.

위의 코드를 풀어쓰면 아래와 같다.

let a = 1;
a++;
let aPlus = a;

3. 수학식 계산 순서

자바스크립트에서도 우리가 배운 수학과 같은 사칙연산의 순서를 따른다.
()안의 계산을 먼저해주거나 */기를 +- 보다 먼저해준다.

Assignment

index.js 에 작성 되어 있는 mathExpression 함수의 결과 값이 22가 나오도록 수정해 주세요.
// Assignment - 다음 함수 안에 코드를 작성해 주세요.
function mathExpression() {
// 다음 코드의 값이 22가 되도록 수정해주세요.(문제)
let result = (5 + 6) _ 10 / 2 _ 2.5;

// 내가 쓴 코드
11 _ (10 / (2 _ 2.5))
// 다음 코드는 수정하지 마세요!
return result;
}

// 아래의 코드는 절대로 수정하거나 삭제하지 마세요.
module.exports = {mathExpression};


처음 공부했을때 제출한 답은
5+6= 11 이고 11 x 10은 110. 110 / 2 는 55고 55 x 2.5는 137.5
137.5 - 22 는 115.5니까
`let result = (5 + 6) * 10 / 2 * 2.5 -115.5`;
이렇게 썼었는데 부끄럽다 4개월전의 내가 이랬었구나..