다시쓰는 javaScript 1

Undefined 기술블로그 ·2021년 1월 26일
0
post-thumbnail

자바스크립트 기초부터 다시 잡아보도록하자!

변수

let은 var와 유사하다

var는 블록 스코프가 없다. 블록 기준으로 스코프가 생기지 않기 때문에
블록밖에서 접근 가능하다 예를들면

var는 if 문안에 test 변수에 접근할수있지만,
let은 if 문안의 test 변수에 접근 할 수 없다.

이런 개념을 스코프 개념이라고 하는데
이후에 다루기로 하자


let은 변수는 재선언 , 재할당이 가능하다

let stream
stream = 1 선언하면
stream 변수는 1을 할당하고있다.

const = 상수

코딩 하면서 가장 많이 쓰이는것이 바로 const 일것이다.

재할당 재선언이 되지않는다.

const 를 주로 쓰는 이유는 실수가 줄어들고 상수이기때문에

어떤 데이터를 가지고있는지 믿고 의지할수있다.

데이터 타입

자바스크립트에서는 크게 두가지 데이터 타입이 있는데
기본형과 참조형이다

기본형은 number, string , boolean, null ,undefined,symbol,
참조형은 객체 object, array, function ,date, RegExp , Map,
WeakMap,Set, WeakSet 등이 객체 하위 분류에 속한다

데이터 타입에서의 연결고리는 데이터가 메모리에 어떻게 저장이되는지에
연관있다.

연산자

산술연산자 (+, - , * ,/)
++a , a++

먼저 ++을 선언한것과 ++을 나중에 선언했을때와 차이가있다.

변수앞에 ++ 이 선언되면 증감시키는 작업을 우선적으로 실행한다
변수뒤에 ++ 이 선언되면 해당 라인이 끝난 후 실행한다.

대입연산자

let a = 1;
a = a +1;
a += 1;

자바스크립트는 다른 언어와는 다르게 이런부분이 비교가되는
약간 조심히 다뤄야하는 부분이 있다.

또 + 로 문자열을 서로 붙여줄수도있다.

논리연산자

-불리언 타입을 위한 연산자

  • !: NOT
  • && : AND 둘다 true면 true
  • || : or 둘중 true 인것을 반환
  • 연산 순서 : NOT > AND > OR

비교연산자

= 부등호를 사용하게되면 값을 할당 한다 의미가 되고
==, === 인지에 따라서도 의미가 달라진다.
== 일경우 타입만 맞으면 true를 반환하고
( let a = '3' == let b= 3 ) 스트링과 넘버형식인데 형이 맞기떄문에
true로 반환이되버리고
===일경우는 타입과 형이 맞아야 true 로 반환된다
( let a = '3' === let b= 3 ) 에선 false로 반환된다

조건문

if 문

특정 조건이 true 를 반환할 경우에만 if 문 안의 코드가 실행된다.

if(조건) {
코드
}

if-else

if(조건) {
코드
} else {
코드
}
조건에 맞으면 if안에 코드가 실행되고 그렇지않으면 else의 코드가 실행된다.

if- else if

if(조건) {
코드
} else if () {
코드
} else {
코드
}

조건에 맞으면 if안에 코드가 실행되고 그렇지않으면 else의 코드가 실행된다.

switch/case 문

특정값을 기준으로 두고 다른 작업을 하고싶을때 사용한다.

각 케이스의 조건이 맞다면 빠져나와야하는게 문법이라
break을 항상 선언해주어야한다

const device = 'iphone'
switch (device) {
case 'iphone':
console.log('아이폰!');
break;
case 'ipad':
console.log('아이패드!');
break;
case 'galaxy note':
console.log('갤럭시 노트!');
break;
default:
console.log('애플제품')
}

문법이라는건 정해져있는 규칙이다

나의 상상력으로 이렇게하면되겟지?

아니 절대 되지않는다 마치 사용설명서같은거라서

어떻게 동작하는지 동작하게할려면 어떻게 문법을 써야하는지
꼭지켜줘야한다

필자는 상상력이 풍부해서 많은시도를 해보았지만, 정확하게 답이 있는

프로그래밍의 세계에선 절대적으로 있을수없는일이다.

항상 염두해두어야한다. 문법대로 그냥 정말 시키는대로 따라해야 적용가능하다!

profile
정의 되지 않은 유연한사람이 되고싶다.

0개의 댓글