위에 코드를 보면 x는 선언되지 않아 reference 에러가 발생할꺼 같지만 JS는 자동으로 전역 변수에 x를 할당한다. 이를 암묵적 할당이라고 하는데 이와 같은 코드는 예상치 못한 에러를 발생시킬 수 있기 때문에 좋지 않은 코드이다.그래서 ES5부터 strict m
JS 객체의 종류 표준 빌트인 객체 ECMAScript 사양에 정의된 객체로 JS의 실행환경에 상관없이 언제나 사용가능한 객체이다. 호스트 객체 ECMAScript 사양에 정의되지 않았지만 JS 실행환경에서 추가적으로 제공하는 객체이다. DOM, BOM, fet
3장 변수의 내용을 정리한 글이다.
이곳 챕터에서는 용어에 대한 설명이 많다.값이란 무엇일까?값이란 표현식이 평가되어 생성된 결과를 말한다.예를들어이런 코드도 값이다. 리터럴은 사람이 이해할 수 있는 문자나 기호를 사용해 값을 생성하는 표기법이다.예를들어 3같은 경우도 컴퓨터에서 숫자 리터럴로 판단해서
Modern JS Deep Dive 6장의 내용을 정리한 글이다.JS를 사용할대는 C처럼 데이터 타입별로 변수를 선언하지 않고 let, const, var 키워드를 통해서 변수를 선언하지만 JS도 모든 값은 데이터 타입을 갖는다.크게 원시 타입과 객체 타입 두가지로 나
책을 보고 새로 배운 내용을 정리했기 때문에 모든 내용이 정리되어 있지는 않습니다.이항 산술 연산자와 다르게 부수 효과가 있다.위 코드에서 처럼 연산자가 피연산자의 값을 변경하는걸 부수효과라고 한다.여기서 숫자 타입이 아닌 피연산자에 + 연산자를 사용하면 숫자 타입으로
자바스크립트 Deep Dive 9장 10장에 해당하는 부분이고, 읽으면서 자바스크립트에 대해 새롭게 알게된 부분만 정리한 내용이다.JS의 타입 변환에는 두가지가 존재한다. 개발자가 의도적으로 타입을 변환하는 명시적 타입 변환과 개발자의 의도와는 상관없이 자바스크립트 엔
자바스크립트 Deep Dive 9장 10장에 해당하는 부분이고, 읽으면서 자바스크립트에 대해 새롭게 알게된 부분만 정리한 내용이다. 원시값 > 원시값은 변경 불가능한 값이다. 원시값은 변경 불가능하다. 하지만 우리는 원시값을 변경해서 사용한다. 그 이유는 기존 변
위에 코드를 보면 foo1은 객체의 메서드로 내부에서 this는 cat 객체에 binding이 되지만 foo1 메서드의 내부의 foo2 함수는 객체가 아닌 함수 호출이므로 this는 전역객체에 binding이 되어 버리기 때문에 결과는 undefined가 나온다.