Script

Javascript의 특징 본문

항해99/2주차 알고리즘

Javascript의 특징

scripter. 2022. 7. 16. 00:49

1. 느슨한 타입, 동적 언어

 

느슨한 타입

 

JS의 변수는 어떤 특정한 타입과 연결되지 않으며, 
모든 타입으로 할당 및 재할당이 가능하다

 

let a = 42 // a가 숫자
a = 'bar' // a가 이제 문자열
a = true // a가 이제 불리언

 

동적언어

 

변수 타입을 런타임때 결정해주기 때문에 변수를 선언할때 굳이 타입을 
선언해 주지 않아도 된다.

 

 

느슨한 타입과 동적언어의 문제점


문제점: 
느슨한 타입으로 인해
오류가 나서 실행되지 않게 막아줘야 하는 부분을 그냥 실행되게함

동적언어로 인해 런타임할때 의도하지 않은 데이터 타입이 들어가 
의도대로 동작하지 않을 수 있음

이 때문에 타입스크립트 탄생


2.형변환-암시적 변환, 명시적 변환

 

암시적 변환


자바스크립트가 필요에 따라 자동으로 데이터타입을 변환시키는것

+ 연산자

 

+를 할때는 숫자보다 문자열이 우선시 되기 때문에 
숫자와 문자형을 섞어 계산하면 숫자가 문자형으로 변환되어 연산된다.

+를 제외한 다른 연산자는 숫자형이 문자형보다 우선시되기 때문에 
변환이 일어나지 않는다

 

명시적 변환


개발자가 의도를 가지고 데이터 타입을 변환시키는 것

다른자료형을 숫자타입으로 변형하는 방법

Number()

Number()는 정수형과 실수형의 숫자로 변환한다.


parseInt()

parseInt()는 정수형의 숫자로 변환한다

parseFloat()

 

ex) parseFloat(“123.123456”); //123.123456

 

다른 자료형을 문자타입으로 변형하는 방법

String()

 

다른 자료형을 문자타입으로 만든다.

toString()


toString()는 인자로 기수를 선택할 수 있다. 인자를 전달하지 않으면 10진수로 변환한다.

toFixed()

 

소수의 자리수의 길이를 제한함


ex)
let num = new Number(1.232323);
num.toFixed(2); //  string, 1.23


다른 자료형을 불린타입으로 변형하는 방법

 

Boolean()

 


3.== 과 === 차이


==는 안에 들어있는 값만 같으면 true를 반환하는 비교적 느슨한 비교


===는 값뿐만 아니라 데이터타입까지 동일해야 true를 반환하는 엄격한 비교
이 때문에 검사하는 것에 사용하는 것은 ===

 


5. undefined와 null의 차이


undefined는 변수를 선언하고 값을 할당하지 않은 상태
null은 변수를 선언하고 빈 값을 할당한 상태 (빈 객체)

Comments