자바스크립트 36

문풀1 ^^

if(2 == ___ ) 중, 밑줄에 값이 들어올때 true가 아닌 경우를 고르시오. ① Number(2) ② Number(2).valueOf() ③ Number(2).toString() ④ 2.valueOf() ⑤ 2 .toString() 문제의 요점 ==와 ===는 어떻게 다르고 어떻게 동작하는가? 문제를 풀기 위해 알아야 하는 함수 Number() : 문자열을 숫자로 변환하는 함수 valueOf() : 특정 객체의 원시 값(primitive Value)을 리턴하는 함수 toString() : 값을 문자열로 리턴하는 함수 문제의 정답 ① 2 == 2, true ② 2 == 2, true ③ 2 == '2', true ④ SyntaxError 발생 ⑤ 2 == '2', true 문제 풀이 ④에 Synt..

자바스크립트 2023.11.16

AJAX (Asynchronous Javascript And XML)

AJAX (Asynchronous Javascript And XML) 정의 Asynchronous Javascript And Xml(비동기식 자바스크립트와 xml)의 약자 자바스크립트를 이용해 서버와 브라우저가 비동기 방식으로 데이터를 교환할 수 있는 통신 기능 브라우저가 가지고있는 XMLHttpRequest 객체를 이용해서 전체 페이지를 새로 고치지 않고도 페이지의 일부만을 위한 데이터를 로드하는 기법 즉, 쉽게 말하자면 자바스크립트를 통해서 서버에 데이터를 비동기 방식으로 요청하는 것이다. 비동기 방식이란? 비동기 방식은 웹페이지를 리로드하지 않고 데이터를 불러오는 방식이며 Ajax를 통해서 서버에 요청을 한 후 멈추어 있는 것이 아니라 그 프로그램은 계속 돌아간다는 의미를 내포하고 있다. 비동기 방..

자바스크립트 2023.11.16

JSON

JSON (JavaScript Object Notation) JavaScript Object Notation라는 의미의 축약어로 데이터를 저장하거나 전송할 때 많이 사용되는 경량의 DATA 교환 형식 Javascript에서 객체를 만들 때 사용하는 표현식을 의미한다. JSON 표현식은 사람과 기계 모두 이해하기 쉬우며 용량이 작아서, 최근에는 JSON이 XML을 대체해서 데이터 전송 등에 많이 사용한다. JSON은 데이터 포맷일 뿐이며 어떠한 통신 방법도, 프로그래밍 문법도 아닌 단순히 데이터를 표시하는 표현 방법일 뿐이다. JSON 특징 서버와 클라이언트 간의 교류에서 일반적으로 많이 사용된다. 자바스크립트 객체 표기법과 아주 유사하다. 자바스크립트를 이용하여 JSON 형식의 문서를 쉽게 자바스크립트 ..

자바스크립트 2023.11.16

this

this javascript에서의 this라는 키워드는 거의 모든 상황에서 객체이며 문법적으로는 '나'와는 단어와 비슷하다. this의 값은 this를 사용하는 해당 함수를 어떻게 실행하느냐에 따라 값(의미)이 바뀐다. this를 실행하는 방식 this는 크게 4가지 방식으로 실행을 하며 각각의 방식에 따라 가리키는 주체가 달라진다. 1. Regular function call - 일반 함수 실행 방식 1.1 strict mode가 아닌 경우 function foo () { console.log(this.name); // 'this' === global object (브라우저상에선 window 객체) } foo(); 일반 함수 방식이란 위와 같이 일반적으로 함수를 실행하는 가장 기본적인 방식이다. 이 방..

자바스크립트 2023.11.16

콜백

비동기 처리와 콜백 함수 콜백에 관하여 검색하면 항상 비동기 처리라는 말과 같이 나오는 것을 볼 수 있다. 그 이유는 바로 콜백함수를 쓰는 이유가 비동기 처리를 위해서 사용하기 때문이다. 1. 비동기처리 자바스크립트의 비동기처리란 특정 코드가 종료되지 않은 상태라 하더라도 대기하지 않고 다음 코드를 실행하는 자바스크립트의 특성 (병렬적 실행)을 의미한다. 자바스크립트에서 비동기처리가 필요한 이유 화면에서 서버로 데이터를 요청했을 때 서버가 언제 그 요청에 대한 응답을 할지도 모르는 상태에서 다른 코드를 실행 안하고 기다릴 수는 없기 때문이다. 주의: jQuery의 사용: 코드에서 $.get 함수를 사용하고 있는데, 이는 jQuery 라이브러리의 일부이다. 따라서 이 코드를 브라우저 환경에서 실행하려면 j..

자바스크립트 2023.11.16

Closure (클로저)

Closure (클로저) 함수가 자신이 선언됐을 때의 환경인 스코프를 기억하여 자신이 선언됐을 때의 환경 밖에서 호출되어도 그 환경에 접근할 수 있는 함수를 뜻한다. (함수가 실행되는 위치가 어디인지는 관계가 없다. ) 렉시컬 스코프 스코프는 함수를 호출할 때가 아니라 함수를 어디에 선언하였는지에 따라 결정이 된다. 이를 렉시컬 스코핑이라고 한다. var x = 1; function foo() { var x = 10; bar(); } function bar() { console.log(x); } foo(); // 1 bar(); // 1 언뜻보면 foo에서 실행이 되어 x가 foo 내부의 x를 가리킬 것 같지만 실제 bar가 선언됐을 당시의 x인 1을 가리키게 된다. 이처럼 렉시컬 스코프는 함수를 어디서..

자바스크립트 2023.11.15

원시타입, 참조타입

JavaScript는 원시 타입과 참조 타입이라는 두가지 자료형을 제공하며 Object를 제외한 모든것들은 Primitive한 성격을 갖고 있다. Primitive Type : 데이터의 실제 값 할당 Reference Type : 데이터의 위치 값만 할당 1. Primitive Type (원시타입) 원시 타입의 데이터는 변수에 할당이 될 때 메모리 상에 고정된 크기로 저장이 되고 해당 변수가 원시 데이터 값을 보관한다. 원시 타입 자료형은 모두 변수 선언, 초기화, 할당 시 값이 저장된 메모리 영역에 직접적으로 접근한다. 즉, 변수에 새 값이 할당이 될 경우, 변수에 할당된 메모리 블럭에 저장된 값을 바로 변경한다. 1.1 Primitive Type의 종류 Boolean number String null..

자바스크립트 2023.11.15

호이스팅 (Hoisting)

호이스팅 (Hoisting) 사전적 정의 : 끌어 올리기 JavaScript에서의 Hoisting : 변수의 정의가 그 범위에 따라 선언과 할당으로 분리되는 것을 의미한다. 즉, 변수가 함수 내에서 정의되었을 경우, 선언부분만 함수의 최상위로, 함수 바깥에서 정의되었을 경우, 전역 컨텍스트의 최상위로 변경이 된다. console.log(a);// Reference Error 선언되지 않은 변수를 참조할 경우, 보통 이렇게 오류가 나타난다. console.log(a);// undefined var a = 1; console.log(a);// 1 하지만 위의 예제에는 오류가 나타나지 않는다. 선언되지 않은 변수를 참조하는데 오류가 나지 않고 undefined로 값이 지정된 이유는 바로 Hoisting 때문이..

자바스크립트 2023.11.15

스코프 (유효범위)

스코프 (유효범위) Scope의 정의 📋 자신이 선언된 위치에 의해 다른 코드가 식별자 자신을 참조할 수 있는 유효범위 자바스크립트 엔진이 식별자를 검색할 때 사용하는 규칙 Scope의 구분 ⚖️ 자바스크립트에서 스코프는 변수와 함수의 유효 범위를 나타냅니다. 스코프는 변수와 함수가 어디에서 접근 가능한지를 결정합니다. 스코프는 전역 스코프(Global Scope)와 지역 스코프(Local Scope)로 나뉩니다. 전역 스코프(Global Scope): 전역 스코프는 코드 어디에서나 접근 가능한 스코프입니다. 전역 스코프에서 선언된 변수와 함수는 프로그램의 어느 곳에서나 접근할 수 있습니다. var globalVariable = 10; function globalFunction() { console.lo..

자바스크립트 2023.11.15

자바스크립트 - ECMA스크립트 버전소개

ECMA스크립트란, ECMA International이 ECMA-262 기술 규격에 따라 정의하고 있는 표준화된 스크립트 프로그래밍 언어를 말합니다. 2009년에 발표된 ES(ECMAScript 5)는 웹 어플리케이션 부터 소셜게임 까지 다양한 곳에서 활용이 되었습니다. 그 이후, 기존에 자바스크립트의 여러 문제점을 해결하고 개선한 ES6(ECMAScript 2015)이 2015년 여름에 발표 되었습니다. ES6은 ECMAScript 2015라도고 불리고, 기존 여러 기능을 개선한 버전입니다. ES6의 핵심 기능 중 하나는 ES5(ECMAScript 5) 버전을 기반으로 개발된 웹 페이지가 동작가능 하도록 하위 호환성을 지원하는 것입니다. ES6에 추가된 주요 기능은 아래와 같습니다. let & cont..

자바스크립트 2023.11.04