본문 바로가기

javascript28

JS33 - 11.JS engines Virtual Machine 가상 머신 가상머신: 주어진 컴퓨터 시스템의 가상 머신 또는 소프트웨어 구동 에뮬레이션 유형 Mac의 Parallels 프로세스 가상머신: 덜 기능적, 하나의 프로그램이나 프로세스만 실행할 수 있다. Windows의 Wine JS엔진은 JS 코드를 해석하고 실행하도록 특별히 설계된 프로세스 가상 머신의 일종이다. 웹 페이지를 구성하여 브라우저의 성능을 향상시키는 레이아웃 엔진과 코드를 해석하고 실행하는* 낮은 수준의 Javascript 엔진*을 구별하는 것이 중요하다. JS 엔진이란? 자바스크립트 코드를 마이크로프로세서가 이해할 수 있는 낮은 레벨 또는 기계 코드로 변환하는 프로그램입니다. 각 Javascript 엔진은 ECMAScript(스크립팅 언어 표준) 버전을 구현한다.. 2021. 6. 3.
AJAX란? 1.AJAX JavaScript의 라이브러리 Asynchronous Javascript And Xml(비동기식 자바스크립트와 xml) 브라우저가 가지고있는 XMLHttpRequest 객체를 이용해서 전체 페이지를 새로 고치지 않고도 페이지의 일부만을 위한 데이터를 로드하는 기법 JavaScript를 사용한 비동기 통신, 클라이언트와 서버간에 XML 데이터를 주고받는 기술 Json이나 xml형태로 필요한 데이터만 받아 갱신 2. AJAX의 장단점 Ajax의 장점 1. 웹페이지의 속도향상 2. 서버의 처리가 완료 될 때까지 기다리지 않고 처리 가능하다. 3. 서버에서 Data만 전송하면 되므로 전체적인 코딩의 양이 줄어든다. 4. 기존 웹에서는 불가능했던 다양한 UI를 가능하게 해준다. 사진공유 사이트 Fl.. 2021. 6. 1.
JS33 - 08.즉시실행함수(IIFE), Modules, Namespaces IIFE (Immediately Invoked Function Expression) 익명의 클로저를 통해 “privacy”를 제공하는 설계 패턴 기본 사용법 !function() { alert("Hello from IIFE!"); }(); void function() { alert("Hello from IIFE!"); }(); IIFE 패턴의 핵심은 함수를 사용하여 이를 표현식으로 바꾸고 즉시 실행하는 것이다. 첫 번째 문자 인 !은 함수 문, 정의 대신 해당 함수를 표현식으로 만드는 것이다. 그런 다음 즉시 function을 실행한다. 전에 보았듯, function 문은 항상 function 키워드로 시작한다. 자바스크립트는 function키워드를 유효한 문장의 첫 단어로 볼 때마다 함수 정의가 수행될.. 2021. 5. 31.
JS33 - 07.표현식과 구문(expression vs statement) 표현식expression: 단 하나의 Value(값)을 반환하는 코드 구문statement: 행동을 수행 (값이 기대되지 않음) 식 단일값 생성 반드시 상태를 변경하지는 않는다. 구문 값이 기대되는 곳에서 사용할 수 없다. 함수의 인수, 할당의 오른쪽, 피연산자, 반환 값 등 형태 if if-else while do-while for switch for-in with (deprecated) debugger variable declaration Function Expression VS Function Declaration test Function Declaration 함수구문 (선언) Hoisting 됨 변수 할당을 요구하지 않고 명명된 함수 변수를 정의한다. 독립 실행형 구문으로 발생하며 비-함수 블록 .. 2021. 5. 31.
JS33 - 06.함수 범위, 블록 범위, 렉시컬(lexical) 범위 함수 스코프는 모든 변수가 함수에 속한다는 개념을 가진다. 따라서 함수 전체에서 사용/재사용이 가능하다.(실제로 중첩 된 스코프에서도 접근 할 수 있음). 이는 매우 유용하기에, Javascript 변수의 “동적(dynamic)” 특성을 최대한 활용하여 필요에 따라 다른 유형의 값을 취할 수 있다. 기본 스코프에서의 숨김 (Hiding In Plain Scope) 스코프-기반의 숨김을 사용하는데에는 여러 가지 이유가 있다. 소프트웨어 디자인 원칙 “최소 특권의 원칙”[최저 권한]의 이유인데, “최소 권한”또는 “최소 노출”이라고도 한다. 이 원칙은 모듈/객체를 위한 API 처럼 소프트웨어 설계에서 최소한 필요한 것만 노출하고 다른 모든 것을 “숨겨야”한다고 명시한다. 이 원칙은 변수와 함수를 포함할 스코.. 2021. 5. 31.
JS33 - 05.== and === and typeof 1. == 와 === 요약 == Double Equal 동등연산자: 느슨한 평등 Value가 동일하면 true 유형 강제변환(암묵적 형변환 implicit type coercion)을 수행한다. === Triple Equal 일치연산자: 엄격한 평등(strict equality operator) Value와 Type이 모두 동일해야만 true 암묵적형변환(implicit type coercion)을 발생시키지 않는다. 2. Falsy JS는 0 을 false(bool)로 변환한다. Falsy values false- 부 울린 거짓 0 - 숫자 0 “” - 빈 문자열 null undefined NaN - 숫자가 아님 Falsy value comparison 규칙 (==) false, 0 , "" 셋은 서로.. 2021. 5. 31.