자바스크립트 기본 - 변수, 자료형, 형변환 요약 모음

anonymous·2023년 3월 10일
0

변수와 상수 요약

varletconst를 사용해 변수를 선언할 수 있어. 선언된 변수엔 데이터를 저장할 수 있고.

  • let – 모던한 변수 선언 키워드.
  • var – 오래된 변수 선언 키워드. 잘 사용하지 않아.(글로벌 변수)
  • const – let과 비슷하지만, 변수의 값을 변경할 수 없어.

변수명은 변수가 담고 있는 것이 무엇인지 쉽게 알 수 있도록 지어져야 해.

https://ko.javascript.info/variables

자료형 요약

자바스크립트에는 여덟 가지 기본 자료형이 있어

  • 숫자형 – 정수, 부동 소수점 숫자 등의 숫자를 나타낼 때 사용. 정수의 한계는 ±2^53 이야
  • bigint – 길이 제약 없이 정수를 나타낼 수 있어.
  • 문자형 – 빈 문자열이나 글자들로 이뤄진 문자열을 나타낼 때 사용해. 단일 문자를 나타내는 별도의 자료형은 없어.
  • 불린형 – truefalse를 나타낼 때 사용.
  • null – null 값만을 위한 독립 자료형. null은 알 수 없는 값을 나타내.
  • undefined – undefined 값만을 위한 독립 자료형. undefined는 할당되지 않은 값을 나타내.
  • 객체형 – 복잡한 데이터 구조를 표현할 때 사용.
  • 심볼형 – 객체의 고유 식별자를 만들 때 사용.

typeof 연산자는 피연산자의 자료형을 알려줘.

  • typeof x 또는 typeof(x) 형태로 사용.
  • 피연산자의 자료형을 문자열 형태로 반환해.
  • null의 typeof 연산은 "object"인데, 이는 언어상 오류야. null은 객체가 아니야.

https://ko.javascript.info/types

alert, prompt, confirm을 이용한 상호작용

브라우저는 사용자와 상호작용할 수 있는 세 가지 함수를 제공해.

  • alert 메시지를 보여줘.
  • prompt사용자에게 텍스트를 입력하라는 메시지를 띄워줌과 동시에, 입력 필드를 함께 제공. 확인을 누르면 prompt 함수는 사용자가 입력한 문자열을 반환하고, 취소 또는 Esc를 누르면 null을 반환.
  • confirm사용자가 확인 또는 취소 버튼을 누를 때까지 메시지가 창에 보여줘. 사용자가 확인 버튼을 누르면 true를, 취소 버튼이나 Esc를 누르면 false를 반환.

위 함수들은 모두 모달 창을 띄워주는데, 모달 창이 떠 있는 동안은 스크립트의 실행이 일시 중단돼. 사용자가 창을 닫기 전까진 나머지 페이지와 상호 작용이 불가!

지금까지 살펴본 세 함수엔 두 가지 제약사항이 있어

  1. 모달 창의 위치는 브라우저가 결정하는데, 대개 브라우저 중앙에 위치해.
  2. 모달 창의 모양은 브라우저마다 다름. 개발자는 창의 모양을 수정할 수 없어.

https://ko.javascript.info/alert-prompt-confirm

형변환

문자, 숫자, 논리형으로의 형 변환이 있어.

문자형으로 변환 은 무언가를 출력할 때. String(value)을 사용하면 문자형으로 명시적 변환이 가능. 원시 자료형을 문자형으로 변환할 땐, 대부분 그 결과를 예상할 수 있을 정도로 명시적인 방식.

숫자형으로 변환 은 수학 관련 연산시. Number(value)로도 형 변환을 할 수 있어.

숫자형으로의 변환은 다음 규칙을 따릅니다.

전달받은 값형 변환 후
undefinedNaN
null0
true / false1 / 0
string전달받은 문자열을 “그대로” 읽되, 처음과 끝의 공백을 무시해. 문자열이 비어있다면 0이 되고, 오류 발생 시 NaN.

불린형으로 변환 은 논리 연산 시 발생. Boolean(value)으로도 변환할 수 있어.

불린형으로의 형 변환은 다음 규칙.

전달받은 값형 변환 후
0, null, undefined, NaN, ""false
그 외의 값true

예외적인 경우

  • 숫자형으로 변환 시 undefined는 0이 아니라 NaN.
  • 문자열 "0"과 " "같은 공백은 불린형으로 변환 시 true

https://ko.javascript.info/type-conversions

profile
기술블로거입니다

0개의 댓글