Javascript

장민영·2022년 9월 23일
0

항해99 2주차

Javascript의 자료형과 Javascript 만의 특성은 무엇일까?

  • 느슨한 타입(loosely typed)의 동적(dynamic)언어 :자바스크립트에는 타입이 있지만, 변수에 타입을 필수적으로 지정하지 않아도 된다. 때문에 '느슨한 타입(loosely typed)언어' 라고 할 수 있다. 이 특징이 JS의 약점이 되는데 JS는 컴파일 된 후 실행 되는 것이 아니라 실행되는 순간 한 줄씩 읽으며 실행이 된다. 그렇기 때문에 실행하기 전에는 오류를 확일 할 수 없다는 단점이 있다.
- 단점 보완하는 방법!!!
- 예상되는 타입 에러를 예외 처리.
- JS언어에 type이 추가죄는 타입스크립트의 사용.

Javascript 형변환

  • 자바스크립트 타입 변환(X to number)
    문자열이나 불리언을 숫자로 형변환하는 방법은 4가지 정도다.1) parseInt(정수 문자열)  || parseFloat(실수 문자열)2) Number(문자열 or 불리언)3) + (문자열 or 불리언)
    4) (문자열 or 불리언) * 1
  •  문자열를 숫자로 변환(string to number)
    : "111" 처럼 숫자로 된 문자열만 변환 가능하다. 숫자가 아닌 경우, NaN 반환

1.  parseInt(정수 문자열)  ||  parseFloat(실수 문자열) : 소수가 없는 정수는 parseInt(), 소수가 있는 실수는 parseFloat()로 형변환.

parseInt("11")         // 11
parseFloat("11.55")    // 11.55

parseInt("NaN")        // NaN
parseFloat("NaN")      // NaN

parseInt("Infinity")   // Infinity
parseFloat("Infinity") // Infinity

parseInt("Hello")      // NaN
  1.  Number(문자열) : Number 생성자 함수를 new 없이 활용하는 방법
Number("11");     // 11

Number("11.55");  // 11.55

Number("Hello");  // NaN
  1.  +(문자열) : 문자열 앞에 + 연산자를 붙여주면, 숫자로 형변환이 된다.
+ ("11")   // 11

+ "11.55"  // 11.55

+ "-11"    // -11

+ "Hello"  // NaN
  1.  (문자열)
    : 문자열에
    연산을 하면, 숫자로 형변환이 된다.
"11" * 1     // 11

"11.55" * 1  // 11.55

"-11" * 1    // -11

"Hello" * 1  // NaN

Boolean을 숫자로 변환(boolean to number)
: true → 1, false → 0 으로 변환되며, parseInt(), parseFloat()는 적용 불가하다.

1.  Number(불리언) 
: Number 생성자 함수를 new 없이 활용하는 방법

Number(true)  // 1

Number(false) // 0

2. +(Boolean) : 불리언 앞에 + 연산자를 붙여주면, 숫자로 형변환이 된다.

+ (true)  // 1

+ false   // 0
* 괄호는 상황에 따라 넣으면 된다. 

3.  (Boolean) * 1 

: 불리언에 * 연산을 하면, 숫자로 형변환이 된다.
(true) * 1  // 1

false * 1   // 0
* 괄호는 상황에 따라 넣으면 된다.

==,=== 의 차이

  • '=='와 '===' 연산자의 주된 차이점은, 예를 들어, 숫자를 숫자 리터럴과 비교하면, '=='는 그것을 허용하지만, '===' 두 변수의 형식은 동일하지 않은 경우, 값뿐만 아니라 두 변수의 유형도 확인하므로, 허용하지 않는 것이다. 즉, '==='는 'false'으로 반환하고, '=='는 'true'로 반환한다.
  • '==' 연산자를 이용하여 서로 다른 유형의 두 변수의 [값] 비교
    '==='는 엄격한 비교를 하는 것으로 알려져 있다 ([값 & 자료형] -> true).

undefined 와 null 의 차이

undefined

  • 원시 자료형 중 하나
  • 값이 할당되지 않은 값

null

  • 원시 자료형 중 하나
  • 어떤 값이 비어있음을 의도적으로 표현할 때 사용
profile
개발새발자

0개의 댓글