본문 바로가기

javascript7

[javascript] undefined와 null 자바스크립트에는 '없음'을 나타내는 값이 두가지가 있습니다. 바로 undefined와 null 입니다. 두 값의 의미는 같은 것 같지만 미세하게 다르고 사용하는 목적 또한 다릅니다. 1. undefined 우선 undefined의 경우 사용자가 명시적으로 지정할 수도 있지만 값이 존재하지 않을 때 자바스크립트 엔진이 자동으로 부여하는 경우도 있습니다. 사용자가 명시적으로 undefined를 지정하는 경우는 달리 덧붙일 내용이 없어 넘어가고, 자바스크립트 엔진이 자동으로 부여하는 경우에 대해 살펴봅시다. 자바스크립트 엔진은 사용자가 응당 어떤 값을 지정할 것이라고 예상되는 상황임에도 실제로는 그렇게 하지 않았을 때 undefined를 반환합니다. 다음 세 경우가 이에 해당합니다. 값을 대입하지 않은 변수,.. 2020. 5. 2.
[javascript] 데이터 타입 데이터 타입의 종류 자바스크립트의 데이터 타입에는 크게 2가지가 있습니다. - 기본형(원시형, primitive type) : 숫자, 문자열, 불리언, null, undefined, es6 추가(심볼) 등.. - 참조형(reference type) : 객체, 배열, 함수, 날짜, 정규식, es6 추가(Map, WeakMap, Set, WeakSet) 등.. 그렇다면 어떤 기준으로 기본형과 참조형을 구분하는 걸까요 ? 일반적으로 기본형은 할당이나 연산시 복제되고 참조형은 참조된다고 알려져 있습니다. 엄밀히 말하면 둘 모두 복제를 하긴 합니다. 다만 이 둘의 차이점은, - 기본형은 값이 담긴 주소값을 바로 복제하하고 - 참조형은 값이 담긴 주소값들로 이루어진 묶음을 가리키는 주소값을 복제한다는 점이 다릅니다.. 2020. 5. 1.
[javascript] 프로토타입(prototype) java, c++, javascript는 객체지향 언어입니다. java나 c++의 경우 class라는 개념을 지원하기 때문에 이를 사용하여 객체지향 프로그래밍이 가능합니다. 하지만 자바스크립트에는 class라는 개념이 없습니다. ECMA6에 class라는 문법이 추가되었지만, 이는 편의상 문법이 추가된거지 자바스크립트가 클래스 기반으로 바뀌었다는 것은 아닙니다. 그렇다면 자바스크립트는 어떻게 객체지향 프로그래밍이 가능할까요 ?바로 프로토타입(Prototype) 사용하기 때문입니다. 프로토타입은 "원형"이라는 뜻으로 객체지향 프로그래밍의 한 형태이며 프로토타입으로 하여 복제의 과정을 통해 객체의 동작 방식을 다시 사용할 수 있습니다. | 프로토타입 맛보기 프로토타입을 제대로 알아보기 전에 어떻게 쓰이는지 .. 2019. 3. 14.