본문 바로가기
728x90
728x90

전체 글153

자바스크립트 함수 자바스크립트 함수 일급 객체 일급 객체는 생성, 대입, 연산, 인자 또는 반환값으로 사용할 수 있는 대상이다. 일급 객체는 다음과 같은 조건을 만족해야한다. 무명의 리터럴로 표현 변수나 자료 구조에 저장 가능 함수의 매개변수에 전달 가능 반환값으로 사용 가능 자바스크립트의 함수는 일급 객체이고 다른 값들처럼 사용할 수 있다. 변수나 객체, 배열 등에 저장, 인수, 함수의 반환값으로도 사용될 수 있다. 함수와 다른 객체를 구분짓는 특징은 호출을 할 수 있다는 것이다. 함수의 정의 방법 일반적인 프로그래밍 언어의 함수 정의 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.
next 환경변수 undefined 오류 문제 상황 aws s3 이미지 업로드에 필요한 s3 config 설정을 하는 중에 각각의 설정 값에 직접 문자열을 넣었을 때는 정상적으로 파일 업로드가 되었으나 .env 환경변수를 사용했을 때 undefined 에러가 발생하면서 값을 불러 올 수 없었다. 잘못된 코드 .env에서 값을 설정하고 config에서 process.env로 접근하는 부분은 문제가 없어 보였다. .env파일의 경로도 확인 해보았지만 모두 문제가 없었다. 개선한 코드 검색을 해본 결과 nextJS 에서는 NEXT_PUBLIC_ 이라는 접두사를 사용하지 않는 한 클라이언트 코드에서 환경 변수에 액세스 하는 것을 허용 하지 않는다는 것을 확인했다. NEXT_PUBLIC_ 접두사를 붙여서 정상적으로 파일이 업로드 되었다. 2023. 3. 20.
자바스크립트 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.
자바스크립트 데이터 타입과 변수 일반적인 프로그래밍 언어의 데이터 타입은 정수, 실수, 문자, 문자열, 부울 등이 있다. 자바스크립트의 모든 값은 데이터 타입을 가지며 자바스크립트는 7가지의 데이터 타입을 제공한다. 원시타입 number string boolean null undefined symbol 객체타입 object 자바스크립트에서 변수에 데이터를 할당하기 위해서는 다음과 같이 사용한다. var x = 3; var x = 3.0; var x = 'x'; var x = "hello"; var의 의미는 변수(variable)의 의미이며 일반적인 프로그래밍 언어와는 조금은 다른 문법이다. 변수는 메모리의 공간이고 일반적으로 한정사를 통해서 값의 종류와 크기를 정하도록 한다. 하지만 자바스크립트에서는 어떤 타입이어도 모두 var를 선언.. 2023. 3. 14.
728x90
728x90