[2주차] JavaScript 1

Javascript
html은 정적이지만, js는 웹브라우저의 cpu를 통해 동적으로 작동하게 해준다.
변수
- var : function scope : 변경 가능
 - let : block scope : 변경 가능
 - const : block scope : 변경 불가
 
Scope
변수가 접근할 수 있는 범위
- 전역 스코프 Global Scope
{ }밖에 선언되면 어디서든 접근 가능한 전역 변수가 되고 전역 스코프에 정의된다. - 지역 스코프 Local Scope
{ }안에 선언되었기에 괄호 안에서만 호출이 가능한 지역 변수가 되고 지역 스코프에 정의- Function scope
함수 내부에서 선언된 변수로 내부에서만 접근 가능 - Block scope
블록 안에서만 호출 가능 
 - Function scope
 
⚡️Lexical Scope
자바스크립트의 scope
함수를 어디서 선언했는지에 따라 상위 스코프를 결정하는 것. 호출이 아니라 선언에 따라 결정된다.
함수의 선언에 따라 상위 스코프가 결정됨!
Var hoisting
자바스크립트는 함수가 실행되기 전 함수 안에 필요한 변수명들을 모두 모아 유효 범위의 최상단에 선언.
값을 올리진 않는다. (선언만 되고, undefined 상태)
var는 호이스팅이 되지만, let,const는 호이스팅이 되지 않는다.
Type
원시 타입 Primitive Type
- Number (숫자)
 - Strings (문자열)
 - Boolean (불리언)
 - Undefined (정의되지 않음)
 - Null (널)
 - Symbol (ES6 추가)
 
⚡️ undefined vs Null
둘다 값이 없음을 의미하지만,
null은 '값이 없다'를 의미로 가지고,
undefined는 의미가 없고, 변수가 선언되었는데 값이 없을때 할당된다. 선언했으나 초기화가 없을 때 자동 할당
null == undefined //true
null === undefined //false
객체 타입 Object Type
- Array (배열)
 - Function (함수)
 - RegExp (정규표현식)
 
연산자
- 산술 연산자 | %,*,+,-,/
 - 증가/감소 연산자 | ++,--
 - 비교 연산자 | !=,!==,<,<=,==,===,>,>=
 - 대입 연산자 | %=,&=,*=,+=,-=,/=,<<=,>>=,|=
 - 조건 연산자 | 변수 = (조건) ? true : false
 - 논리연산자 | !,&&,||
 - 문자연산자 | +
 
⚡️ ===
일치 연산자 (타입까지 비교)
2=='2' //true
2==='2' //false
                Author And Source
이 문제에 관하여([2주차] JavaScript 1), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kinnyeri/JavaScript-1저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)