반응형 개발 언어/자바스크립트 33가지 개념14 [JavaScript 33가지 개념] 07. 함수 표현식(expression) vs 함수 선언문(declaration) 자바스크립트에서 함수를 만드는 방법은 대표적으로 두가지가 있다. 1. 함수 표현식(expression) 함수 표현식을 사용하는 방법은 다음과 같다. const [이름] = function (param1, param2, ...param3) { // 함수 본문 및 로직 } 2. 함수 선언문(declaration) 함수 선언문을 사용하는 방법은 다음과 같다. function [이름] (param1, param2, ...param3) { // 함수 본문 및 로직 } 3. 함수 표현식 vs 함수 선언문 함수 선언문은 호이스팅되지만 함수 표현식은 호이스팅되지 않습니다. 즉, 정의되기 전에 함수 선언을 호출할 수 있지만 함수 식으로는 이 작업을 수행할 수 없다. 함수 표현식을 사용하면 함수를 정의한 직후 함수를 사용.. 2022. 12. 8. [JavaScript 33가지 개념] 06. 함수 범위, 블록 범위, 렉시컬(lexical) 범위 변수를 선언하는 위치에 따라 사용할 수 있는 범위가 다르게 정의된다. 기본적으로 javascript 변수는 함수 범위로 동작한다. 1. 함수 범위 function nameFunc() { var name1 = 'tom'; console.log('1-1', name1); } nameFunc(); console.log('1-2', name1); if (true) { var name2 = 'bob'; console.log('2-1', name2); } console.log('2-2', name2); 위 처럼 변수를 선언하고 호출하면 아래와 같은 결과가 나온다. 1-1 tom 1-2 undefined error 2-1 bob 2-2 bob 1-2에서 에러가 발생하는 걸 확인할 수 있다. 즉, 변수 선언 후 사용은.. 2022. 6. 6. [JavaScript 33가지 개념] 05. == vs === vs typeof 코딩을 하다보면 조건문을 많이 사용하게 된다. 조건문에서 특히 Equality 문법을 사용하게 되는데, 해당 문법에 대해 자세히 알아보자. 1. === === 는 엄격한 Equality 연산자이다. === 는 데이터의 값과 타입이 모두 같아야 true를 반환해준다. console.log(0 === 0); // true console.log('hello!' === 'hello!'); // true console.log(null === null); // true console.log(undefined === undefined); // true console.log(0 === 5); // false console.log(0 === '0'); // false console.log(0 === 'hello!'); .. 2021. 5. 27. [JavaScript 33가지 개념] 04. 암시적 강제(Implicit Coercion) 1. Implicit Coercion (암시적 강제) Javascript의 암시적 강제는 예상치 못한 값 유형을 예상 유형으로 강제하여 처리되는 것을 말한다. 예시를 보며 이해해 보자. console.log(3 * '3'); // 9 console.log(1 + '2' + 1); // 121 console.log(true + true); // 2 console.log(10 - true); // 9 const foo = { valueOf: () => 2, }; console.log(3 + foo); // 5 console.log(4 * foo); // 8 const bar = { toString: () => ' promise is a boy :)', }; console.log(1 + bar); // "1 .. 2021. 5. 22. [JavaScript 33가지 개념] 03. 값 타입(Value Type)과 참조 타입(Reference Type) JavaScript 는 객체 지향 언어이다. 즉, JavaScript의 대부분은 Object (객체) 이다. 객체가 아닌 유일한 요소는 Primitive Type (원시 자료형) 이다. 둘 사이의 차이점 중 하나는 기본 데이터 유형이 값(Value) 으로 전달되고 객체가 참조(Reference) 로 전달된다는 것 이다. 예시를 통해 비교해보면 다음과 같다. let name = 'Carlos'; const firstName = name; name = 'Color'; console.log(name);// Color console.log(firstName);// Carlos const myName = { firstName: 'Carlos', }; const identity = myName; myName.fir.. 2021. 5. 18. [JavaScript 33가지 개념] 02. 자바스크립트의 자료형 (Primitive Types 등) 여기서는 자바스크립트의 내장 자료형과, 내장 자료형에서 사용할 수 있는 속성들에 대해 알아본다. 1. Dynamic typing (동적 타이핑) 자바스크립트는 동적 (dynamic) 언어이기 때문에 변수의 타입을 미리 선언할 필요가 없다. 타입은 프로그램이 처리되는 과정에서 자동으로 파악되기 때문에 같은 변수에 여러 타입의 값을 넣을 수 있다. var foo = 42; // foo 는 이제 Number foo = "bar"; // foo 는 이제 String foo = true; // foo 는 이제 Boolean 2. Data and Structure types (데이터 타입) (1) Primitive Types (원시 자료형) 6가지 원시 자료형 데이터 타입이 존재한다 - Boolean Boolean.. 2021. 5. 13. 이전 1 2 3 다음 반응형