이해안가는 부분이 있어서 더 쉬운 강의를 찾았다.
참조: 수코딩 자바스크립트 기초 강좌 유튜브
var
는 이렇게가 가능합니다.
var num = 10;
console.log(num);
var num = 20;
console.log(num);
num을 선언했는데, 또 num을 선언해줄 수가 있습니다.
let
은 이렇게가 가능합니다.
let num = 10;
console.log(num);
num = 20;
console.log(num);
num을 선언하고, 그안의 값을 변경하는 것이 가능합니다.
const
는 이렇게 가능합니다.
const num = 10;
console.log(num);
num을 한번 선언하면 다시는 데이터 값을 바꿀 수 없습니다.
그렇기 때문에
var
, let
키워드는 변할 수 있는 값이라서 변수,const
키워드는 변하지 않는 값이라고 해서 상수입니다.
규칙 네 가지
//1. 변수 이름은 카멜케이스 방법으로 작성합니다. let userName = "kimel"; // (O) let user_name = "kimel"; // (X) //2. 변수 이름은 _ , $, 문자로만 시작한다. let 12day = "월요일"; // (X) 숫자로 시작 let @day12 = "월요일"; // (X) _, $ 이외의 특수문자로 시작 let day12 = "월요일"; // (O) 문자로 시작 let _day12 = "월요일"; // (O) _로 시작 let $day12 = "월요일"; // (O) $로 시작 //3. 상수나 축약어는 대문자와 스네이크 케이스 방식으로 작성한다. const HTML = "Hyper Text Markup Language"; const MAX_LEVEL = "99"; //4. 예약어는 사용할 수 없다. ex) var, let, const, typeof 등등.. const var = 10; // (X) var는 변수 선언 키워드로 변수 이름으로 지을 수 없다.
지금까지 강의에서 배웠듯이
let num = 10; // 10은 데이터 라고 함.
변수에 할당하는걸 데이터라고 한다고 했습니다.
데이터는 각각 값과 값의 유형으로 이루어져있는데
데이터 = 값(value) + 값의 유형(type)
프로그래밍 언어에서는 값의 유형에 따라서 자료형을 구분짓게 됩니다.
자료형이란 쉽게 말해서 값이 가질 수 있는 여러가지 유형을 구분한 개념입니다. 프로그래밍 언어마다 자료형의 기준이 조금씩 다르지만
자바스크립트라는 프로그래밍 언어에서는 자료형을 원시 타입
과 참조 타입
으로 구분하고 있습니다.
원시 타입(primitive type) - 숫자형(number), 문자열형(string), 논리형(boolean), null, undefined, Symbol
참조 타입(reference type) - 배열(array), 객체(object), 함수(function)
원시 타입
부터 살펴보도록 하겠습니다.
// 원시 타입 (기본 자료형 또는 기본형)
let number = 1; // 숫자형(number)
let str = "abc"; // 문자열형(string)
let bool = true; // 또는 false, 논리형(boolean)
let unde = undefined; // undefined
let nul = null; // null(object)
let symbol = Symbol(); // symbol
console.log(typeof(값의 유형));
자바스크립트에서 값의 자료형을 확인할 수 있는 키워드로 typeof
라는 것을 제공하고 있습니다. 이 typeof라는 키워드는 값의 유형 즉 자료형을 확인할 때 사용하는 키워드입니다.
문자열은 큰따옴표( " " )나 ( ' ' )로 감싸는 것을 말합니다.
true 나 false 는 boolean
여기서 특이한 점은 typeo(null) 을 하면 object(객체)가 나온다는 사실입니다.
Symbol(); 자료형은 실무에서 쓰이는게 극히 드물다.
참조 타입
을 알아보도록 하겠습니다.
// 참조 타입 (참조 자료형 또는 참조형)
let array = []; // 배열(object)
let obj = {}; // 객체(object)
let func = function(){}; // 함수(function)
console.log(typeof (func));
여기서도 특이점이 있습니다. 배열은 영어로 array지만, typeof로 확인을 했을 때는 object로 나옵니다.