일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 훈훈한 Javascript
- fine grained
- javacript
- GAN 이해
- few-shot
- 모드 붕괴
- zero-shot
- stability-plasticity trade-off
- Django
- GAN 손실함수
- 생성AI
- catastrophic forgetting
- 인프런
- Power Loss
- Voltage Drop
- 인공지능 학회
- 생산적 적대 신경망
- for-of
- javascript
- application structure
- python
- 앱 구조
- Autumation Tools
- 확률 변수
- 표본 공간
- 자바스크립트
- 설계철학
- 장고
- multi-label
- 이중구조분해할당
- Today
- Total
점점 미쳐가는 개발 일기
[Javascript] 1. 변수, 문자와 숫자, 데이터 타입 본문
[인프런x코드캠프] 훈훈한 Javascript - 인프런 | 강의
다른 언어도 많은데.. 왜 자바스크립트여야 하냐구요? 자바스크립트는 전세계에서 가장 많이 쓰는 언어로, 비전공자도 빠르게 배울 수 있고 이해하기 쉬운 구조를 가지고 있어요. 게다가 구글,
www.inflearn.com
인프런 강의 "훈훈한 Javascript"를 보고 정리한 내용이며, 추가로 공부한 내용도 덧붙였습니다.
변수
자바스크립트에서 변수 선언 시 총 3가지 방법이 있습니다.
1. var
2. let
3. const
이와 관련해서 '변수 선언'과 '변수 할당'에 대해서 알아야하는데, '변수 선언'은 말 그대로 변수를 선언만 하는 것입니다.
var diaryOne;
let diaryTwo;
console.log(diaryOne) // undefined 출력
console.log(diaryTwo) // undefined 출력
'변수 할당'은 변수에 값을 할당하는 것이며, 할당연산자는 '='을 사용합니다.
var diaryOne;
let diaryTwo;
diaryOne = '일기';
diaryTwo = 30;
console.log(diaryOne) // 일기 출력
console.log(diaryTwo) // 30 출력
위와 같이 '변수 선언'과 '변수 할당'을 따로 하게되면 코드가 엄청 길어지겠죠? 짧고 간결하게 코드을 전달해야 합니다.
'변수 선언'과 '변수 할당'을 동시에 가능하니 해봅시다.
var diaryOne = '일기';
let diaryTwo = 30;
const diaryThree = '40';
console.log(diaryOne) // 일기 출력
console.log(diaryTwo) // 30 출력
console.log(diaryThree) // 40 출력
위 예제를 보면 '변수 선언'과 '변수 할당'을 따로 할 땐 const 방법을 사용하지 않았는데, const는 선언과 할당이 동시에 이루어져야 하는 상수 변수이기 때문입니다.(상수는 변하지 않는 값)
'변수 선언'과 '변수 할당'이 있으면 '변수 재선언'과 '변수 재할당'도 있습니다. '변수 재선언'은 선언되어 있는 변수명으로 다시 선언하는 것입니다.
var diaryOne = '일기';
console.log(diaryOne) // 일기 출력
var diaryOne;
console.log(diaryOne) // undefined 출력
'변수 재할당'은 이미 데이터가 할당되어 있는 변수에 값을 할당하는 것입니다.
var diaryOne = '일기';
let diaryTwo = 30;
console.log(diaryOne) // 일기 출력
console.log(diaryTwo) // 30 출력
diaryOne = '일기 싫어';
diaryTwo = 60;
console.log(diaryOne) // 일기 싫어 출력
console.log(diaryTwo) // 60 출력
'변수 재선언'과 '변수 재할당'도 동시에 가능합니다.
var diaryOne = '일기';
console.log(diaryOne) // 일기 출력
var diaryOne = '일기 싫어';
console.log(diaryOne) // 일기 싫어 출력
위 예제를 보시면 var 방법은 '변수 재선언'과 '변수 재할당'이 가능합니다.
let 방법은 '변수 재선언'은 불가능, '변수 재할당'은 가능하며 const 방법은 '변수 재선언'과 '변수 재할당' 둘 다 불가능합니다.
일반적으로 var 방법은 사용하지 않습니다. 다같이 협업하는 상황이나 이전 작업자가 사용하던 코드에 추가로 코드를 짜야하는 상황이 오면 이전 작업자가 어떤 변수명을 사용했는지 모르고 '변수 재선언' 및 '변수 재할당'을 하게된다면 기존에 잘 돌아가던 작업이 에러를 발생시킬 수 있기 때문이죠.
그렇기 때문에 보편적으론, let 방법. 그리고 수정하면 안되는 변수(변하지 않는 값을 가진 변수)의 경우 const 방법을 사용하여 코드를 짜는 것을 권장합니다.
데이터 타입
1. String
: 텍스트 데이터 타입. (큰 or 작은)따옴표 안에 있는 데이터들.
2. Number
: 숫자 데이터 타입. 문자열과 합쳐졌을 때 예외 상황들이 존재
문자열 + 숫자 = 문자열. 문자열 * 숫자 = NaN 또는 숫자.
+ 연산자의 경우, 문자열과 숫자를 더하는 때 무조건 문자열로 인식하지만 -, *, / 연산자의 경우 문자열과 숫자를 연산할 때
문자열이 수로 인식될 수 있는 경우엔 숫자로 반환. 그렇지 않는 경우는 NaN(Not a Number) 반환.
3. Boolean
: 참과 거짓을 나타내는 데이터 타입. 참은 true 거짓은 false. 대소문자를 구분하니 주의.
4. undefined
: 값이 정의되어 있지 않음을 의미하는 데이터 타입.
5. null
: 의도적으로 값이 정의되어 있지 않음을 의미하는 데이터 타입. 대소문자를 구분하니 주의.
6. symbol
: 고유하고 변하지 않는 값을 생성하는 데이터 타입. 변수 자체에 고유한 키 값을 생성함으로써 유일한 값을 만들기 위해 사용.
Symbol()를 사용하여 생성하며, symbol로 선언된 값은 같더라도 키 값이 다르기 때문에 서로 다른 객체로 인식.
추가 설명 - https://ko.javascript.info/symbol
7. Bigint
: 임의 정밀도의 정수를 표현하는 데이터 타입. 임의 정밀도란 무제한 자릿수를 제공하는 정수열을 의미.
숫자 데이터 타입인 Number는 표현할 수 있는 수의 한계가 있으나 Bigint는 정말 큰 정수를 안전하게 저장하고 관리할 수 있음.
8. Object
: 키(key)와 값(value)로 이루어진 데이터 타입. python의 dictionary 타입과 동일.
'Front-end > Javascript' 카테고리의 다른 글
[Javascript] 6. 구조분해할당 (0) | 2023.07.10 |
---|---|
[Javascript] 5. 반복문: for, while, for-in, for-of (0) | 2023.07.10 |
[Javascript] 4. 조건문: if, if-else, if-elif-else (0) | 2023.07.10 |
[Javascript] 3. 함수 (0) | 2023.03.09 |
[Javascript] 2. 배열, 객체 (0) | 2023.03.09 |