작성일: 2021.3.2
1. 변수(variable)
하나의 값을 저장하기 위해 확보한 메모리 공간 또는 메모리 공간을 식별하기 위해 붙인 이름
다시 말해 값의 위치를 가리키는 이름, 상황에 따라 변할 수 있는 값이다.
변수의 선언(declaration):
키워드 let, const. var를 쓴 후 변수명을 적고 세미콜론을 붙인다.
변수의 할당(assignment):
let num; //변수의 선언
num = 1; //변수의 할당, 변수 num에 1를 할당한다
let num = 2; //변수의 선언과 할당을 한번에 할 수 있다.
2. 타입(Type)
자바스크립트에는 7개의 데이터 타입을 제공한다.
- number: 숫자, 정수, 실수 구분없이 하나의 숫자 타입만 존재
- string: 문자열, 작은따옴표(' ') 혹은 큰 따옴표(" ")로 표시
- boolean: 참(true), 거짓(false)
- undefined: 값이 정해지지 않은 값
- null: 값이 없다는 것을 의도적으로 명시할 때 사용
- symbol: ES6에서 추가된 타입
- 객체타입: 객체, 함수, 배열 등
123과 '123'은 다른 타입이다.
여러 가지가 묶인 객체 타입도 있다. 예를 들면
let person = {
name: 'Steve';
age; 32;
isStudent: true;
};
typeof 연산자를 통해 변수의 타입을 조사해 보자
typeof 1; //number
typeof foo; //undefined
typeof false; //boolean
typeof 'Hello';// string
typeof {}; //object
typeof []; //object
typeof null; //object
typeof function(){}; // "function"
타입변환
타입변환에는 명시적 타입변환, 암묵적 타입변환이 있다.
암묵적인 것은 number+string인 경우 string으로 자동변환되는 것을 말한다.
let score = 10 + '20';
console.log(score); //1020
그렇다면 위와 같은 경우 score에 30의 값이 할당되게 하려면 어떻게 하면 되는가? 이때 필요한 것인 명시적 타입변환이다.
숫자 타입으로 타입변환
Number() 함수: mdn 문서를 찾아보니 Number()를 사용하면 문자열 '20'이 숫자로 변환된다.
let score = 10 + Number('20');
console.log(score); //30
console.log(Number('30')); //30 (string인 경우)
console.log(Number(true)); //1 (boolean인 경우)
console.log(Number(50)); //50 (number인 경우)
parseInt(): 정수타입으로 변환
parseFloat(): 실수타입으로 변환
parseInt('-1.03'); //-1
parseFloat('118.99'); //118.99
+연산자, * 연산자
+ '2'; //2
+'-1'; // -1
'2' * 1; //2
'2' * 2; //4
문자열 타입으로 타입변환
그렇다면 반대로 number를 string으로 변환하려면 어떻게 해야 할까?
String() 함수는 숫자, 불리언 타입을 문자열로 변환한다.
String(123); //"123"
String(true); // "true"
Object.prototype.toString 메소드를 사용하여 문자열로 변환한다.
(1).toString(); //"1"
(true).toString(); //"true"
(false).toString(); //"false"
문자열 연결 연산자(+)를 이용하여 문자열로 변환한다.
1+''; //"1"
'123'+1; //"1231"
true+''; //"true"
false+''; //"false"
'웹 개발 > javascript' 카테고리의 다른 글
[TIL]javascript 조건문, 비교연산자, 논리연산자 (0) | 2021.03.03 |
---|---|
javascript 함수 (0) | 2021.03.02 |
validation check(유효성 검사) 2 (0) | 2021.02.26 |
validation check(유효성 검사) 1 (0) | 2021.02.26 |
array 내장 함수를 통해 findShortestWord 문제 해결하기 (0) | 2021.02.23 |
댓글