본문 바로가기

자바스크립트 33가지 컨셉12

자바스크립트 개발자가 알아야할 33가지 개념[#08. IIFE, Modules and Namespace] 들어가기 전에 자바스크립트를 사용하는 개발자들은 다음 문법이 편할 것이다. hi()라는 이름의 함수를 정의하고 ()문법을 이용해 정의한 함수를 불러온다. 함수 정의는 항상 function 키워드로 시작한다. 그리고 뒤에는 함수의 이름이 온다. 함수의 이름을 생략하면 문법에 어긋나기 때문에 이름을 생략할 수 없다. 함수 표현식 (Funtion Expression) 함수 타입의 값을 hi라는 변수에 할당했다. 할당의 right-hand에 있는 함수는 주로 "함수표현식(Function Expression)"이라 불린다. 익명 함수 표현식 위의 코드가 함수 익명 함수 표현식이다. 함수 표현식에서 function키워드 뒤에 이름이 붙지 않은 함수를 익명 함수라고 한다. 기명(Named) 함수 표현식 함수 표현식은.. 2022. 5. 17.
자바스크립트 개발자가 알아야할 33가지 개념[#07. 표현식 (Expression) 과 문(Statement)] 표현식 (Expression) 표현식(Expression)은 하나의 값으로 평가 된다. 값(리터럴), 변수, 객체의 프로퍼티, 배열의 요소, 함수 호출, 메소드 호출, 피연산자와 연산자의 조합은 모두 표현식이며 하나의 값으로 평가된다. 표현식은 결국 하나의 값이 되기 때문에 다른 표현식의 일부가 되어 조금 더 복잡한 표현식을 구성할 수도 있다. ex) 5*10은 50으로 펼가(연산)된다. 문 (Statement) 프로그랩은 컴퓨터에 의해 단계별로 수행될 명령들의 집합이다. 각각의 명령을 문(Statement)이라 하며 문이 실행되면 무슨 일인가 일어나게 된다. 문은 리터럴, 연산자(Operator), 표현식(Expression), 키워드(Keyword) 등으로 구성되며 세미콜론(;) 으로 끝나야 한다. .. 2022. 5. 12.
자바스크립트 개발자가 알아야할 33가지 개념[#06. 함수 범위(Function Scope), 블럭 범위(Block Scope), 렉시컬(lexical) 범위] 스코프 (Scope) 자바스크립트에서 스코프는 어떤 변수에 접근할 수 있는지를 정의한다. 일반적으로 2가지의 스코프가 존재한다. 전역 스코프와 지역 스코프이다. 전역 스코프(Global Scope) 만일 변수가 모든 함수에 속하지 않고 {}괄호안에 들어있지도 않다면 우리는 그 변수를 전역 변수라고 한다. 전역 변수를 선언하면, 자바스크립트 코드 어디에서든 불러 올 수 있다. 심지어 함수 내부에서 도 사용 가능하다. 전역변수의 사용은 조심할 필요가 있다. 왜냐하면 두개 혹은 그 이상의 변수들이 같은 이름을 가지게 되어 네이밍 충돌(naming cillision)이 발생할 확률이 있기 때문이다. 만일 우리가 const 또는 let 키워드로 같은 이름의 변수를 선언하게 된다면 우리는 에러를 보게 된다. 만일 .. 2022. 5. 11.
자바스크립트 개발자가 알아야할 33가지 개념(#05. == vs === and Typeof) 자바스크립트는 눈으로 보기엔 비슷하지만 사실 매우 다른 동등 비교연산자 두개가 있다. 자바스크립트 사용자라면 누구나 == 과 ===을 이용하여 어떤 값이 동일한지 비교할 수 있다. 이제부터 차이점을 알아보자 === 동등 연산자 자바스크립트에서 === 연산을 사용할 때, 엄격한 동등성을 비교한다. 엄격한 동등성의 의미는 타입과 값이 모두 같이야 한다는 뜻이다. 예제를 살펴보면, 1. 둘 다 숫자라는 타입이 같고 값도 같다. 2. 둘 다 문자열이라는 타입이 같고 값도 같다 3. 둘 다 문자열이라는 타입은 같지만 값은 다르다. 4. 둘 다 불리언(Boolean)이라는 타입이 같고 값도 같다. ==동등 연산자 자바스크립트에서 == 연산자를 쓰는 목적은 느슨한 동등 비교를 위함이다. == 연산자도 강제 형변환(t.. 2022. 5. 10.