[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.)