Programming/JavaScript(12)
-
[JavaScript] 자바스크립트 스코프
스코프란? 특정 장소에 변수를 저장하고 나중에 그 변수를 찾는 데에 필요한 규칙 💻 컴파일러 이론 자바스크립트 또한 컴파일러 언어로서, 컴파일러언어의 처리과정 3단계인 컴파일레이션을 수행 💡 토크나이징/ 렉싱 문자열을 토큰으로 만드는 과정 var a =2; 👉 var, a = 2 ; 💡 파싱 토큰 배열을 문법 구조를 반영하여 👉 AST(추상 구문 트리) var a = 2; 의 경우, 변수 선언( : 최상위 노드) 에서 시작 확인자 : a 대입수식 : 2 💡 코드생성 AST를 기계어 집합으로 바꾸어 실행코드로 변경 💻 스코프 이해하기 💡 처리의 수행자 var a=2; 엔진 컴파일레이션 전과정을 책임 컴파일러 파싱, 코드생성의 모든잡일 스코프 선언된 모든 확인자(변수) 검색 목록 작성 및 유지 엄경한 규칙을..
2021.07.20 -
[JavaScript]자바스립트 문법
💻 5.1 문과 표현식 자바스크립트에서의 문 != 표현식 문: 문장 표현식 : 어구 연산자: 구두점/접속사 var a = 3*6; var b=a; b; 자바스크립트에서의 표현식은 "단일한, 특정한" 결괏값으로 계산됨. 위 각 세줄은 표현식이 되기도하고, 표현식이 포함된 문이기도하다. + '선언문' : var a = 3 * 6; 이런식의 변수 선언의 문 + '할당 표현식' : a = 3 * 6; + '표현식 문' : 표현식의 전부이면서 완전환 문 💡 문의 완료 값 모든 문은 완료 값을 가짐. var a = 43; //완료값 : undefined a = 43; //완료값 : 43 선언문의 완료값은 undefined 할당 표현식은 할당 이후의 값이 완료값 ❗ {}블록은 마지막 문/표현식의 완료값이 블록의 완료..
2021.07.18 -
[JavaScript]자바스크립트 강제변환 - 2
💻 암시적 변환 암시적 변환 : 숨겨진 형태로 일어나는 타입변환 암시적 변환이 코드를 더 복잡하고 이해하기 어렵게 많든다는 논란은아직까지도 많다고 합니다. 하지만, 교재에서는 긍정적인 관점으로 살펴보고있어 저 또한 장점을 위주로 살펴보겠습니다. 암시적 변환의 목적은 '불필요한 상세 구현을 줄이는 것'이라고 볼 수 있습니다. 👉 '암시적'이란? 예를 들어 타입변환의 의사코드를 살펴보면 아래와 같습니다. Sometype x = SomeType(AnotherType(y)) 즉, 타입이 바로 변환되는 것이 아닌 중간단계를 거치는 부분까지 표현이 되는데요, 이를 암시적으로 단순화 하여 표현 할 수있습니다. Sometype x = SomeType(y) 이렇게 작성하여 코드 가독성을 높이고, 세세한 구현부를 추상화하..
2021.07.14 -
[JavaScript]자바스크립트 강제변환 - 1
💻 4.1 값 변환 자바스크립트의 타입변환 💡 암시적 강제변환 부수효과로부터 발생하는 타입변환 💡 명시적 강제변환 의도적으로 타입변환 var a = 43; var b = a + ""; //암시적 강제변환 var c = String(a) //명시적 강제변환 💻 4.2 추상 연산 📍 ToString 명시적으로도 가능 & 문자열 콘텍스트에 문자열 아닌 값이 있으면 자동 호출 💡 숫자 toString() 을 통해 그냥 문자열로 바뀜. + 큰 숫자는 지수형태 💡 일반 객체 기본적으로 Object.prototype.toString()메서드가 내부 [[Class]]를 반환 (ex. [object Object]) 💡 배열 배열은 기본적으로 모든 원소 값이 ','로 분리된 형태로 이어짐 var a =[1, 2, 3]; ..
2021.07.11 -
[JavaScript]자바스크립트 네이티브
저번 포스팅에 이어서 'You Don't Know JS'교재를 이용한 자바스크립트 문법에 대해서 정리해보겠습니다. 💙 이번 포스팅으 3강 네이티브에 대한 내용입니다. 네이티브 내장 함수로 볼수 있으며, 특정 환경에 종속되지 않은, ECMAScript 명세의 내장 객체를 말합니다. 가장 많이 사용되는 네이티브로는 아래와 같이 있습니다. String() Number() Boolean() Array() Object() Function() RegExp() Date() Error() Symbol() ❗ 네이티브를 생성자로 사용 하면, type값은 Object(원시값을 감싼 객체 래퍼 로서)를 나타낸다. var a = new String("abc"); type of a; // "Object" "String"이 아님..
2021.07.09 -
[JavaScript]자바스크립트의 타입& 값
이번 포스팅에서는 자바스크립트의 타입과 값에 대한 내용을 다뤄보겠습니다. 웹 프로그래밍을 공부하고 프로젝트를 하다보니, 자바스크립트에 대한 기초적인 부분과 깊은 내용들이 부족하다고 느껴 좀더 이론적으로 공부를 시작했습니다. 공부할 교재를 찾던 중 "You Don't Know JS"[카일 심슨] 이 교재가 유명하고 내용을 잘 다뤄놨다고 해서 공부를 시작했습니다. 💻 타입 자바스크립트는 동적언어라고 해서 타입이 없는 것이 아니라, 자바스크립트 엔진&개발자 모두가 값을 다른값과 분별할 수 있는 "고유한 내부 특성의 집합"을 뜻합니다. 1.1 타입, 그 실체를 이해하자 어떤 형태로든 거의 모든 자바스크립트 프로그램에서 강제변환이 일어나므로 타입을 확실하게 인지하고 사용하는 것이 중요합니다. 1.2 내장 타입 자..
2021.07.06