javascript

    [JS] 자바스크립트 함수를 변수에 할당할 수 있는 이유

    이 본문은 자바스크립트 함수의 개념을 다룹니다💪🏼 본문을 시작하기에 앞서 자바스크립트의 리터럴과 표현식에 대한 개념을 간단히 정리하고자 한다. 리터럴(Literal) 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용하여 값을 생성하는 표기법을 말한다. // number literal 3 123; 이 예제의 123은 단순한 숫자값이 아닌 숫자 리터럴이다. 사람이 이해할 수 있는 아라비아 숫자 표현을 사용해 숫자 123을 코드에 기술하면 자바스크립트 엔진은 이를 숫자값 123으로 평가한다. 즉, 사람이 이해할 수 있는 표현을 사용하여 자바스크립트 엔진이 값을 생성하는 것이다. 아래에서 다시 언급하겠지만, 자바스크립트는 함수를 하나의 객체로 정의한다. 즉, 객체 리터럴로 객체를 생성하는 것처럼 함수 리터럴..

    [JS] 자바스크립트 원시 값과 객체(Immutability, Mutability)

    ECMAScript6(ES6)는 7개의 데이터 타입(number, string, boolean, undefined, null, symbol, object)을 제공한다. 이는 크게 원시 타입(primitive type)과 객체 타입(object/reference type)으로 구분할 수 있다. 자바스크립트 원시 타입(Primitive Type) 값의 변경이 불가능한 값(Immutable Value) 변수에 할당된 값은 더 이상 변경이 될 수 없다!! 여기서 중요한 포인트는 원시 값 자체를 변경할 수 없다는 것이지 변수 값을 변경할 수 없다는 것이 아니다. number, string, boolean, undefined, null, symbol 타입이 이에 해당된다. 자바스크립트의 객체 타입(Object Ty..

    [JS] 변수 호이스팅(Hoisting)에 대하여

    1. var 에 대한 개념정리 JavaScript의 var 변수는 다른 언어들과 조금 다르게 동작합니다. 이는 때때로 개발자로 하여금 의도하지 않은 결과를 발생하기도 합니다. if(true){ var name = 'sean'; } console.log(name); for(var i=0; i