Javascript/33가지 개념(7)
-
[JS 33가지] 7. Expression vs Statement
1. Expression 자바스크립트에서 표현식(Expression)은 값을 리턴하는 것을 말한다. 다음 코드를 보면 알 수 있다. const add = function(a, b){ return a + b; } const result = add(1,3); // add(1,3)은 값을 리턴하므로 add(1,3)은 표현식이다. console.log(2+2); // 2 + 2 => 값 리턴 => 표현식 console.log(Math.random() + 10); // 값 리턴 -=> 표현식 2. Statement 자바스크립트에서 Statement는 명령, 지시를 말한다. 위 예제를 그대로 가져와보면, const add = function(a, b){ return a + b; } const result = add..
2020.07.07 -
[JS 33가지] 6. 스코프(Scope)
스코프(Scope) 자바스크립트에서 스코프는 어떤 변수에 접근할 수 있는지 없는지를 정의한다. 스코프는 크게 전역 스코프, 지역 스코프로 나뉜다. 전역 스코프(Global Scope) 전역 스코프는 모든 함수에 속하지 않고, 블록({})안에도 속하지 않은 가장 바깥에 있는 범위를 말한다. 그리고 전역 스코프에 있는 변수를 우리는 전역 변수라고 한다. 전역 변수를 선언하면 어느 블록이든지 간에 선언된 전역변수를 사용할 수 있다. const greeting = "Hello!"; function sayHello(){ console.log(greeting); } sayHello(); // "Hello!" 지역 스코프(Local Scope) 지역 스코프는 함수, 블록({})과 같이 특정 범위를 가리킨다. 지역 스..
2020.07.05 -
[JS 33가지] 5. typeof vs instanceof
1. typeof typeof 연산자는 피 연산자의 자료형을 나타내는 문자열을 반환하는 함수다. console.log(typeof 42); // number console.log(typeof "str"); // string console.log(typeof true); // boolean console.log(typeof false); // boolean console.log(typeof function(){}) // function console.log(typeof {}); // object console.log(typeof []); // object 참조 타입이든 원시 타입이든 자료형을 나타내는데 크게 문제가 없는 것 같다. 하지만 typeof의 문제점은 null의 자료형을 나타내는 문자열을 반환하는..
2020.06.30 -
[JS 33가지] 4. 형 변환
1. 명시적 변환 vs 암시적 변환 형 변환은 어떤 타입을 다른 타입으로 변환하는 과정을 말한다. 자바스크립트에서 형 변환은 명시적, 암시적 두 형태로 나뉘어진다. 명시적 형 변환은 프로그래머가 형 변환을 직접적으로 한 것을 말한다. 하지만 암시적 형 변환은 자바스크립트의 판단 하에 형 변환을 한 것을 말한다. // 명시적 형 변환 console.log(Number("1")); console.log(String(1234)); // 암시적 형 변환 console.log(1 + "23"); // "123" console.log(true + 55); // 56 console.log(false + 0); // 0 암시적 형 변환은 보통 원시적 타입이든 참조적 타입이든 타입 간에 연산자를 적용하는 경우와 if같은..
2020.06.26 -
[JS 33가지 개념] 3. 값(Value) VS 참조(Reference)
1. 원시 타입(Primitive Type) 자바스크립트 데이터는 두 가지 타입으로 나뉜다. 첫 번째는 원시타입, 두 번째는 참조타입이다. 원시 타입(Primitive Type)은 String, Number, Boolean, undefined, null, symbol 총 여 섯개의 타입이 있으며 다음과 같이 선언을 한다. const num = 123; const str = "hello"; const NULL_POINT = null; num, str, NULL_POINT 변수 모두 선언해준 값을 가지고 있다. 메모리는 이러한 변수, 값들을 다음과 같은 이미지 형태로 저장한다. 그렇다면, 다음과 같이 새로운 변수를 만들어 기존에 선언했던 변수 값을 = 연산자를 이용해서 복사한다면? let num1 = 123..
2020.06.25 -
[JS 33가지 개념] 2. Primitive Types
1. Primitive Type Primitive라는 단어를 사전에서 찾아보면 원시적인, 초기의라는 뜻이 나온다. 지금 생각해보면 왜 이런 단어선택을 했는지는 이해는 안간다. 본론으로 돌아와서, 자바스크립트는 Primitive Type과 Reference Type이라는 두 가지 형태의 자료형이 존재한다. Primitive Type는 총 여섯 개다. true or false -> boolean type null -> 존재하지 않음을 정의 undefined -> 존재하지 않음 number -> 정밀한 64비트의 float형 자료. 자바스크립트에서는 정수형이라는 자료형태가 없다. string -> 문자형 자료 symbol(ES6에서 나온 새로운 자료형) 여기서 null과 undefined를 헷갈려 하는 사람들..
2020.06.23