컴퓨터는 모든 데이터를 0 또는 1로 기억하는데, 0 또는 1만 표현할 수 있는 하나의 메모리 조각을 비트라 한다.각 비트는 고유한 식별자(unique identifier)를 통해 위치를 확인할 수 있다.비트 단위로 위치를 확인하는것은 매우 비효율적이다.비트를 단위로
기본형 데이터와 참조형 데이터 불변값 변수와 상수를 구분하는 성질은 '변경 가능성'이다. >불변값과 상수는 같은 개념인가? 변수와 상수를 구분 짓는 변경 가능성의 대상은 변수 영역 메모리이다. 한 번 데이터 할당이 이뤄진 변수 공간에 다른 데이터를 재할당할 수
parseInt() parseInt() 함수는 문자열 인자를 파싱하여 특정 진수의 정수를 반환한다. 매개변수 string 파싱할 값. 문자열이 아닐 경우 ToString 추상 연산을 사용해 문자열로 변환한다. 문자열의 선행 공백은 무시한다. radix (Opti
값으로 전달받은 객체에 변경을 가하더라도 원복 객체는 변하지 않아야 하는 경우불변 객체를 사용한다.객체의 가변성에 따른 문제점user 객체를 생성하고 user 객체의 name 프로퍼티를 'Jung'으로 바꾸는 changeName을 호출해 그 결과를 user2에 담았다.
기본형 데이터와 참조형 데이터의 차이변수 복사변수 영역의 빈 공간 @1001을 확보하고 실별자 a로 지정한다.숫자 10을 데이터 영역에서 검색하고 없으므로 빈 공간(@5001)에 저장한 다음, 이 주소를 @1001에 넣는다.이 과정으로 기본형 데이터의 변수 선언 및 할
JavaScript에서 호이스팅(hoisting)이란인터프리터가 변수와 함수의 메모리 공간을 선언전에 미리 할당하는 것함수가 실행되기 전에, 안에있는 변수들을 범위의 최상단으로 끌어올리는 것var로 선언한 변수의 경우 호이스팅 시 undefined로 변수를 초기화한다.
현재 실행되는 컨텍스트(컨텍스트란 값과 표현식이 표현되거나 참조 될 수 있음을 의미한다.)만약 변수 또는 표현식이 '해당 스코프'내에 있지 않다면 사용할 수 없다.또한 스코프는 계층적인 구조를 가지기 때문에 하위 스코프는 상위 스코프에 접근할 수 있지만 반대는 불가능하
클로저는 함수와 함수가 선언된 어휘적 환경의 조합이다.클로저를 이해하기 위해 먼저 자바스크립트가 어떻게 변수의 유효범위를 지정하는 지 (Lexical scoping)를 이해해야 한다.자바스크립트에서는 실행 중인 함수, 코드 블록 {...}, 스크립트 전체는 렉시컬 환경
JavaScript에서 함수의 this 키워드는 다른 언어와 조금 다르게 동작한다.자바스크립트에서 this는 런타임에 결정이 되는것이다.이러한 특징은 함수(메서드)를 하나만 만들어 여러 객체에서 재사용할 수 있다는 것은 장점이 존재하지만, 이런 유연함이 실수로 이어질
repeat() 메서드는 문자열을 주어진 횟수만큼 반복해 붙인 새로운 문자열을 반환합니다.count문자열을 반복할 횟수. 0과 양의 무한대 사이의 정수(\[0, +∞)).현재 문자열을 주어진 횟수만큼 반복해 붙인 새로운 문자열.참고 mdn web docs
위에서 Person class의 sum()이외의 다른 동작을 하는 메소드가 추가적으로 필요할 경우물론 class 내부에서 새로운 메소드를 정의할 수 있지만,사용하고자하는 class가 내가 만든것이 아니라, 누군가 만들어 둔 library를 사용하는 경우에는수정사항으로
JavaScript에서 전통적인 방식의 상속기능\_\_proto\_\_Object.create()자바스크립트에서는 주류 객체지향 언어와는 조금 다르게 작동한다. (주류 객체지향 언어(Java와 같은)에서는 class가 상속을 받음)Object 라는 객체가 있고이 객체로
NaN 값을 ==, === 을 사용해 판별하려는데 false가 나왔다?자바스크립트 표준 내장 객체isNaN()함수는 어떤 값이 NaN인지 판별한다.JavaScript의 다른 모든 값과 달리, NaN은 같음 연산(==, ===)을 사용해 판별할 수 없다. NaN == N