[React] JavaScript의 자료형과 JavaScript만의 특성은 무엇일까?

이경하·2022년 8월 10일
0

React

목록 보기
2/10
post-thumbnail

✍️ JavaScript의 자료형과 JavaScript만의 특성은 무엇일까?

👊 느슨한 타입(loosely typed)의 동적(dynamic) 언어

  • JavaScript는 느슨한 타입(loosely typed)의 동적(dynamic) 언어
    JavaScript의 변수는 어떤 특정 타입과 연결되지 않으며,모든 타입의 값으로 할당 및 재할당 가능

👍 JavaScript 형변환

  • 자바스크립트는 타입이 매우 유연한 언어
    때문에 때로는 자바스크립트 엔진이 필요에 따라 ‘암시적변환’ 을 혹은 개발자의 의도에 따라 ‘명시적변환’ 을 실행
* 암시적변환 : 암시적 변환이란 자바스크립트 엔진이 필요에 따라 자동으로 데이터타입을 변환시키는 것
* 명시적변환 : 명시적변환이란 개발자가 의도를 가지고 데이터타입을 변환시키는 것

✌️ ==, ===

  • = 대입연산자 : 우항의 값을 좌항의 변수에 대입할 때 사용하는 것

  • == 동등연산자 : 좌,우를 비교해서 서로 값이 같으며 true, 다르면 false
         ( 데이터 타입이 다르더라도 실질적으로 갖고있는 정보의 의미가 동일하다고 한다면
         js는 그것을 같은 값으로 인정하는 연산자 )

  • === 일치연산자 : 좌,우가 정확하게 같을 때 true, 다르면 false

Ex) 
alert(1 == '1')  // true
alert(1 === '1') // false

👌 느슨한 타입(loosely typed)의 동적(dynamic) 언어의 문제점은 무엇이고 보완할 수 있는 방법에는 무엇이 있을지 생각해보세요.

  • 문제점
    동적타입 언어는 간단한 코드를 짤 때는 편리함
    하지만 프로젝트 규모가 커지면 숫자용 함수에 문자열이 들어가버리는 등 자료형이 잘못 들어감으로 인한 런타임 오류의 위험성이 커지게 됨

  • 해결방법
    불편함을 해소하기 위해 TypeScipt나 Flow 등을 사용할 수 있다


🖖 undefined와 null의 미세한 차이들을 비교해보세요.

  • undefined은 변수를 선언하고 값을 할당하지 않은 상태 즉, undefined는 자료형이 없는 상태
Ex) 
let num;
console.log(num);
undefined
이때 undefined는 num에 우리가 직접 입력하지 않고 자동으로 할당된(명시적 할당이 필요없는)값임
  • null은 변수를 선언하고 빈 값을 할당한 상태(빈 객체)
Ex)
let num = null;
Console.log(num);

전체적인 출처 https://triplexlab.tistory.com/197
profile
경듀님

0개의 댓글