본문 바로가기
728x90
728x90

Frontend54

자바스크립트 함수 자바스크립트 함수 일급 객체 일급 객체는 생성, 대입, 연산, 인자 또는 반환값으로 사용할 수 있는 대상이다. 일급 객체는 다음과 같은 조건을 만족해야한다. 무명의 리터럴로 표현 변수나 자료 구조에 저장 가능 함수의 매개변수에 전달 가능 반환값으로 사용 가능 자바스크립트의 함수는 일급 객체이고 다른 값들처럼 사용할 수 있다. 변수나 객체, 배열 등에 저장, 인수, 함수의 반환값으로도 사용될 수 있다. 함수와 다른 객체를 구분짓는 특징은 호출을 할 수 있다는 것이다. 함수의 정의 방법 일반적인 프로그래밍 언어의 함수 정의 int add(int x, int y) { return x+y; } 일반적으로 함수명, 파라미터, 반환타입을 통해서 함수를 정의할 것이다. 자바스크립트는 함수를 정의하지 않고 만든다. F.. 2023. 3. 22.
자바스크립트 object 객체 자바스크립트 object 객체 자바스크립트는 객체 기반의 스크립트 언어이며 원시 타입을 제외한 나머지 값들(함수, 배열, 정규표현식)은 모두 객체이다. 자바스크립트 객체는 key와 value로 구성된 프로퍼티들의 집합이다. 정적인 객체 정의와 동적인 객체 정의 C++, C#, Java와 같은 객체지향 언어는 Object라는 개념을 가지고 class로 객체의 형식과 타입을 정의하고 실체화 하여 객체를 사용한다. 하지만 자바스크립트는 객체를 만들고 객체를 정의한다. 그래서 자바스크립트는 동적인 객체정의라고 하고 기존의 언어에서는 정적으로 객체를 정의한다. 객체 생성 방법 객체 리터럴 var person = { name : "Gildong", age : 20, }; Object 생성자 함수 var person.. 2023. 3. 21.
자바스크립트 Array 객체 배열 리터럴 자바스크립트는 객체 기반의 스크립트 언어이며 자바스크립트를 이루고 있는 거의 모든 것이 객체이다. 원시 타입을 제외한 나머지 값들(함수, 배열, 정규 표현식 등) 모두 객체이다. 배열 리터럴은 객체 리터럴과 달리 프로퍼티명이 없고 각 요소의 값만 존재한다. 두 객체의 근본적인 차이는 배열 리터럴의 프로토타입 객체는 Array.prototype이고 객체 리터럴의 프로토타입 객체는 Object.prototype 이다. 대부분의 프로그래밍 언어는 배열의 요소가 모두 같은 데이터 타입 이어야 하지만 자바스크립트는 어떤 데이터 타입의 조합도 가능하다. const array = ['word', 10, true, undefined] 배열의 생성 배열은 배열 리터럴 방식으로 생성하는데 이는 결국 내장 함수.. 2023. 3. 19.
자바스크립트 연산자 자바스크립트의 연산자는 C계열의 언어를 학습했다면 산술, 할당, 비교, 논리, 타입 연산 등이 유사하기 때문에 크게 다르지 않다. 자바스크립트의 연산자만이 가지는 몇가지 다른점이 있다. 암묵적 타입 변환 자바스크립트 엔진은 표현식을 평가할 때 문맥(Context)를 고려하여 암묵적 타입 변환을 실행한다. "1" + 2 // 12 2 * "10" // 20 !0 // true 표현식을 평가할 때 문맥에 맞지 않은 상황이 발생할 수 있는데 자바스크립트 엔진은 가급적 에러를 발생시키지 않도록 암묵적으로 타입을 변환한다. 동등 비교 연산자와 일치 비교 연산자 비교 연산자에는 ==(동등 비교)와 ===(일치 비교)가 있다. 동등 비교 연산자는 좌항과 우항의 피연산자를 비교할 때 암묵적 타입 변환을 통해 타입을 일.. 2023. 3. 17.
728x90
728x90