전체 글
[JavaScript_study] 값으로 평가될 수 있는 것들
* 리터럴 (Literal) > 코드에서 값을 나타내는 표기법 > 123(숫자 리터럴), '123'(문자 리터럴), true(불리언 리터럴), { }(객체 리터럴), [ ](배열 리터럴) * 템플릿 리터럴 (Template Literal) > ` ` (백틱) // ${ } * 함수 리터럴 > function ( ) { } * Bigint 리터럴 > 1283912830138012830218309n * 바이너리 리터럴 > 0b101 * 코드에서 최소로 실행되는 단위 > 문 (Statement) > 변수를 선언하면 = 선언문 > 할당하면 = 할당문 > 조건이 있다면 = 조건문 > 반복이 한다면 = 반복문 * 표현식 (Expressions) > 값으로 평가 될 수 있는 문 ex) 1; // 숫자 리터럴 표현식,..
[JavaScript_study] 값과 참조의 차이
* 원시(Primitive)타입과 객체(Object)타입의 비교 > 원시타입은 메모리 셀 안에 값이 바로 들어가있으며 변수가 그 메모리 자체를 가르키고 있다. > 객체타입은 메모리의 주소(참조값)를 가르키고있다. * 원시타입의 값 복사 > Copy by value(Call by value와 동일한 개념) // (값에 의한 호출) > 값 자체가 복사되어진다. ex) let a = 1 // a = b // b; 1 => b에 다른 값을 할당할 경우 b의 값만 단독으로 변한다. * 객체타입의 값 복사 > Copy by Reference(Call by reference와 동일한 개념) // (참조에 의한 호출) > 값을 복사할경우 해당 객체가 참조하고 있는 참조값(메모리 주소, 레퍼런스)가 복사된다. > 따라서..
[JavaScript_study] 객체 타입(object)
* 객체 : 복합데이터 > 여러데이터를 묶어서 표현 > 상태와 행동을 묶어서 표현가능 : { key : value } ex) { id : 1234, key : 'secret-key' } > value에는 원시(primitive), 객체(object)둘다 들어갈 수 있다. * 원시타입은 메모리 셀에 값 그자체가 들어가게 되고 객체는 Heap이라는 공간안에 메모리가 할당된다. > Heap은 데이터의 사이즈가 정해져 있지 않고 동적으로 사이즈가 변화되는곳이 저장되는곳이다. > 객체자체는 Heap어딘가에 메모리에 저장되어있고 메모리셀 여러개에 거처서 객체가 할당이 된다. > 객체를 지칭하는 변수는 실제 메모리가 들어가 있는 메모리 주소를 가지고 있다. : 객체의 메모리 할당은 해당 값을 가지고 있지 않고 메모리..
[JavaScript_study] null과 undefined 타입
* undefined > let variable; : 변수를 선언하고 값을 할당하지 않음 * null > let a = null : 변수에 null이라는 값이 할당되어 있음 * undefined vs unll > undefined : let activeItem; // 아직 활성화된 아이템이 있는지 없는지 모르는 상태 > null : activeItem = null; // 활성화된 아이템이 없는 상태
[JavaScript_study] 숫자, 문자, 불리언 타입 (데이터 타입)
* 데이터 타입 > 원시(primitive) : 단일 데이터 : number, string, boolean, null, undefined, Symbol > 객체(object) : 복합 데이터 // 원시 타입을 제외한 나머지 전부 : object, array, function * 숫자 타입 예시 : 숫자 아무거나 할당할 수 있다. > let integer = 123; // 정수 > let negative = -123 // 음수 > let double = 1.23; // 실수 > let binary = 0b1111011; // 2진수 > let octal = 0o173 // 8진수 > let hex = 0x7b; // 16진수 * 숫자를 나누었을때 발생할 수 있는 데이터 값 > console.log(0 / ..
[JavaScript_study] 변수 선언 및 할당
변수(Variable) * 이름짓기 (Naming) > 저장된 값을 잘 나타낼 수 있는 의미있는(구체적인 수록 좋다) 이름 > 이 변수에는 어떤 값이 들어있는가? 에 대한 생각을 항상 하기 * 변수의 이름으로는 예약어는 사용하면 안된다. (아래는 예약어 리스트 링크) https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_grammar#keywords * 어플 처리 과정 > 입력(input) -> 처리(process) -> 출력(output) -> 저장(storage) * 처리(process)를 위해서는 데이터(data)를 임시저장할 공간이 필요하다. > 변수(Variables) : 값을 저장하는 공간, 자료를 저장할 수 있는 ..