Script
Javascript의 특징 본문
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은 변수를 선언하고 빈 값을 할당한 상태 (빈 객체)
'항해99 > 2주차 알고리즘' 카테고리의 다른 글
| 알고리즘- 2016년 (0) | 2022.07.19 |
|---|---|
| 알고리즘- x만큼 간격이 있는 n개의 숫자 (0) | 2022.07.19 |
| 알고리즘- 평균 구하기 (0) | 2022.07.19 |
| 알고리즘- 가운데 글자 가져오기 (0) | 2022.07.19 |
| Javascript 객체와 불변성, 깊은복사 (0) | 2022.07.18 |