JAVASCRIPT

[JAVASCRIPT#03]자바스크립트와 자바의 차이

양동민 2020. 12. 22. 14:03

자바스크립트의 좋은점은 세미콜론(;)을 찍지 않아도 인정을 해주는 것이다. 왠만하면 에러가 나지 않는다.

하지만 에러가 안난다는 것이 때로는 단점인 이유가 나의 코드가 어디가 잘못되었는지 찾기가 힘들다는 것이다.

 

자바를 이용한 이클립스에서 만들었던 다이어트 계산기를 자바스크립트 VSCode에서 구현한다고 하면

[30일간 푸시업을 진행, 1일차에는 5개, 2일차부터는 3개씩 추가, 매일매일하게되는 푸시업 개수] 

int total = 0;

int pushup = 5;

for(int i=1; i<=30; i++){

  total += pushup;

  pushup += 3;

}

system.println(total);

 

 

var total = 0;

var pushup = 5;

for(var i=0; i<=30; i++){

  total += pushup;

  pushup += 3;

}

console.log(total);

 

이렇게 된다.

여기서 조금 변화를 줘서 for구문바로아래 console.log(i+"일차니까"+pushup+"개 하겠습니다.") 하면 콘솔창에 몇일에 몇개했는지까지 나온다.

 

자, 여기서 차이점을 알아보자

1. 자바스크립트에는 undifined라는 값이 있다. 어떠한 값이 특정하지 않을때 값이 들어가지 않았다고 보면 된다.

만약 아예 없는 값을 출력하라고 하면 변수 선언도 안한 상태에서 출력하라고하면 오류가 뜬다.

 

2. 자바스크립트에는 null도 있다. null과 undifined

 

3. undifined랑 null은 같은가? 다른가?

console.log(a==b);  ---> 이것은 통크게 비교하는것이다. 결과값은 true가 나오지만

console.log(a===b); ---> 이것은 쪼잔하게 세세하게 비교하는 것이다. 결과값은 false가 나온다.(자바와 동일한 형태의 비교)

 

console.log(0==false);

console.log(0=="");

console.log(""==false);

세 개 모두 true값을 갖는다.

 

4. 자바스크립트는 부정적인 값이 존재한다.

null, undifined, 0, "", false

console.log(!null==true);

console.log(!undefined==true);

 

5. 위 3, 4 사항을 적극적으로 활용할 수 있다.

var username =  "";

if(username == nell || username == undifined || username === ""){     ->> if(!username){ 이라고 이용할 수 있다.

  console.log("이름이 없습니다");

}

else{

  console.log("이름이 있습니다");

}

 

6. 자바스크립트는 나눗셈 결과가 실수로 나온다.

하지만 정수와 실수 자체가 구분이 없기 때문에 문제가 없다.

ex)console.log(10/3); -> 3.333333333335

만약 자바때처럼 정수로 결과가 나오게 하고 싶다면 변환명령이 필요하다.

자바에서는 Integer.parseInt() 명령으로 정수 변환이 가능.

자바스크립트에서는 parseInt() 명령으로 정수 변환이 가능.

ex)console.log(parseInt(10/3)); -> 3

나머지는 똑같이 나온다.

ex)console.log(10%3); -> 1