본문 바로가기

개발자 페이지/Javascript

(14)
?? / nullish coalescing / 물음표 두개 / 자바스크립트 자바스크립트에서 "??" 를 처음봤을때 굉장히 당황하게 했다. 분명 어디선가 배운거 같은데 기억이 잘안나고 검색하려고 ?? 두개를 치면 엉뚱한 결과가 나오기도 한다. Nullish coalescing operator / null병합 연산자 왼쪽 피연산자가 null 또는 undefined일 때 오른쪽 피연산자를 반환하고, 그렇지 않으면 왼쪽 피연산자를 반환하는 논리 연산자이다. Left ?? Right 보통 왼쪽이 참이면 왼쪽 값을 반환하고, 반대의 경우 오른쪽 값을 반환한다고 이해하고 있다. 단순 Boolean 값, 0, null, undefined,"" 등이 예기치 못한 결과를 내는 것을 예방할 수 있다.
07 클래스 by 코어 자바스크립트 아래 내용은 '코어 자바스크립트' 정재남 저 | 위키북스의 내용을 발췌한 것으로 자세한 내용은 해당 서적을 확인 바랍니다. 자바 스크립트 내의 클래스(CLASS)는 사용자의 니즈에 따라 ES6에서 문법에 추가되었으며 다만 ES6의 클래스에서도 일정 부분은 프로토타입을 활용하고 있기 때문에, ES5 체제 하에서 클래스를 흉내내기 위한 구현방식을 학습하는 것은 여전히 큰 의미를 지닌다. 클래스와 인스턴스의 개념 이해 클래스는 하위로 갈수록 상위 클래스의 속성을 상속하면서 더 구체적인 요건이 후가 또는 변경된다. 물론 하위 클래스가 아무리 구체화되더라도 이들은 결국 추상적인 개념일 뿐이다. 클래스의 속성을 지니는 실존하는 개체를 일컬어 인스턴스라고 한다. :어떤 조건에 부합하는 구체적인 예시 -> 조건은 클래..
06 프로토타입 by 코어 자바스크립트 아래 내용은 '코어 자바스크립트' 정재남 저 | 위키북스의 내용을 발췌한 것으로 자세한 내용은 해당 서적을 확인 바랍니다. 자바스크립트는 프로토타입 (prototype)기반 언어로 클래스 기반 언어에서는 '상속'을 사용하지만 프로토타입 기반 언어에서는 어떤 객체를 원형으로 삼고 이를 복제(참조)함으로써 상속과 비슷한 효과를 얻는다. 프로그래밍 언어의 상당수가 클래스 기반인 것에 비교하면 프로토타입은 꽤나 독특한 개념이라 할 수 있다. var instance = new Constructor(); instance 는 Constructor 앞에 new를 붙여서 새로운 객체를 만들어 낸것으로, Constructor가 해당 instance의 프로토타입이 되는 개념이다. 보통 Object.getPrototypeOf..
05 클로저 by 코어 자바스크립트 아래 내용은 '코어 자바스크립트' 정재남 저 | 위키북스의 내용을 발췌한 것으로 자세한 내용은 해당 서적을 확인 바랍니다. 클로저의 의미 및 원리 클로저(closure)는 여러 함수형 프로그래밍 언어에서 등장하는 보편적인 특성으로, JS 고유 개념이 아니라 ECMA Script 에서도 클로저의 정의를 다루지 않고 있다. MDN(Mozilla Developer Network) "A closure is the combination of a function and the lexical environment within which that function was declared" 가비지 컬렉터 GC 는 어떤 값을 참조하는 변수가 하나라도 있다면 그 값은 수집대상에 포함시키지 않는다. 클로저란 어떤 함수 A에서 ..
04 콜백 함수 - by 코어 자바스크립트 아래 내용은 '코어 자바스크립트' 정재남 저 | 위키북스의 내용을 발췌한 것으로 자세한 내용은 해당 서적을 확인 바랍니다. 콜백 함수(callback function)는 다른 코드의 인자로 넘겨주는 함수이다. 콜백 함수를 넘겨받은 코드는 이 콜백 함수를 필요에 따라 적절한 시점에 실행하게 된다. 콜백 함수는 제어권과 관련이 깊다. 어떤 함수 X를 호출하면서 '특정 조건일 때 함수 Y를 실행해서 나에게 알려달라'는 요청을 함께 보내는 셈이다. 이 요청을 받은 함수 X의 입장에서는 해당 조건이 갖춰졌는지 여부를 스스로 판단하고 Y를 직접 호출할게 된다. 이처럼 콜백 함수는 다른 코드(함수, 메서드)에게 인자를 넘겨줌으로써 그 제어권도 함께 위임한 함수이다. 콜백 함수를 위임받은 코드는 자체적인 내부 로직에 ..
03 this - Javascript 아래 내용은 '코어 자바스크립트' 정재남 저 | 위키북스의 내용을 발췌한 것으로 자세한 내용은 해당 서적을 확인 바랍니다. 자바스크립트에서 가장 혼란스러운 개념을 고르라고 한다면 많은 이들이 this를 꼽을 것이다. 다른 대부분의 객체지향 언어에서 this는 클래스로 생성한 인스턴트 객체를 의미한다. 클래스에서만 사용할 수 있기에 혼란의 여지가 없거나 많지 않다. 그러나 자바스크립트에서의 this는 어디서든 사용할 수 있으며, 상황에 따라 this가 바라보는 대상이 달라진다. 함수와 객체(method)의 구분이 느슨한 자바스크립트에서 this는 실질적으로 이 둘을 구분 하는 거의 유일한 기능이다. 1. 상황에 따라 달라지는 this JS에서 this는 기본적으로 실행 컨텍스트가 생성될 때 함께 결정된다...
02 실행 컨텍스트 - by 코어자바스크립트 아래 내용은 '코어 자바스크립트' 정재남 저 | 위키북스의 내용을 발췌한 것으로 자세한 내용은 해당 서적을 확인 바랍니다. 실행 컨텍스트(Execution context): 실행할 코드에 제공할 환경 정보들을 모아놓은 객체. 자바스크립트는 실행컨텍스트가 활성화되는 순간 다음과 같은 동작을 수행하게 된다. 1. 호이스팅(Hoisting): 변수를 위로 끌어올림 2. 외부 환경 정보를 구성 3. this 값을 설정하는 등의 동작 수행 해당 개념은 JS에서 가장 중요한 핵심 개념중 하나로, 실행컨텍스트(Execution context)를 정확히 이해하는 것은 자바스크립트를 포함, 개발자라면 반드시 숙지해야 할 핵심 개념이다. - 스택(stack): 출입구가 하나인 깊은 구덩이 데이터 구조 비어있는 스택순서대로..
Undefined, null 값 자바스크립트 값이 없음을 나타내는 자바스크립트 표현은 2가지로 1.undefined : 값이 없을때 자바스크립트가 자동으로 부여하는 경우가 보통 사용자의 입력이 예상되는데 실제로 값이 없을 경우 undefined를 반환하게 된다. 사용자가 지정한 undefined는 하나의 값으로 동작하여 고유의 키값 프로퍼티가 존재하게 되나 자바스크립트 엔진이 자동으로 반환해주는 undefined는 배열의 키값 자체가 존재하지 않는다. 혼란을 피하기 위해서는 둘중 하나만 사용하는것이 편리하다. 즉, 자바스크립트 엔진이 직접 undefine을 반환하는 경우만 남겨두는 것이다. 비어있음을 나타내고 싶을때는 아래 null을 사용하면 된다. 2. null: 이 null 값은 애초부터 undefined를 대체하기 위한 '비어있음'을 나타내기..

반응형