IT/부스트코스

부스트코스 DB연결 웹앱 #1 자바스크립트 FE

은세고화 2020. 1. 15. 21:05
반응형

1. 배운것들

  • 변수선언
  • 연산자
  • Type 종류
  • Type 확인 방법

자바스크립트에서 변수선언은 var let const가 있다. let과 const는 es6들어서 추가로 생긴 것이고 어떤 변수를 쓰느냐에 따라 변수의 scope 즉 유효범위가 달라진다.

 

연산자의 경우 +-=%/ 등이 있고 값이 같다는 연산자 == 는 타입을 비교해주지 않아서 보통 자바스크립트에서는 ==대신 ===를 쓴다.

&&은 둘다 참일 때 트루이고 ||는 하나만 참이라도 트루값이다.

const name = "crong";

const result = name || "codesquad"; 에서 name에 값이 있으니 crong이 되고 없으면 codesquad가 된다.

 

삼항연산자의 경우

int a = 11;

if(a > 10 ) ? "up" : "down" 에서 a가 참이면 up 거짓이면 down이 실행된다.

 

타입의 종류는 string int function등이 있고 확인법은 일반타입은 type of 변수 를 하면되고

보통은 toString.call(변수)를 한다.

 

 

 

 

 

2. 배운것들

  • If
  • switch
  • for
  • while
  • String replace메서드

if 와 switch는 넘어가고 for문부터 하자면

var a = ["1", "2", "3"];

for(int i = 0; i < a.length; i++) 보통 이런식으로 많이하는데 이렇게 하지 말고

 

for(int i = 0, len = a.length; i < len; i++) or

len = a.length;

for(int i = 0; i < len; i++) 이런식으로 해야 매번 배열을 탐색하지 않는다.

 

a = "12 : 34"

a.split(":")를 하면 a에는 ["12""34"]가 된다

a.replace(":", "%")로 하면 :가 %로 변한다.

 

 

 

 

 

3.배운 것들

  • Function
  • Hoisting
  • arguments
  • 기본 반환값 (undefined)

함수는 function a ()로 선언한다.

단 자바스크립트는 함수를 변수처럼 만들 수 있다.

기본적으로 함수에 값을 안넣거나 아직 안만들었을 경우 undefined라고 출력된다.

var a = function()

 

function a() {

b()

console.log("3434")

 

var b = function(){}

}

 

의 경우 b라는 함수를 먼저 불럿지만 출력해보면 undefined가 뜬다. 저 문제를 해결하려면

다른 함수표현식을 사용해야한다.

var b = function(){} 가 아닌 function b() {}를 사용하면 함수가 밑에 있어도 실행이 된다.

 

자바스크립트는 함수를 실행하기 전에 한번 쓱 훑는데 밑에 함수가 있으면 함수는 통채로 위로 가져온다. 이것을 hoistion이라고 한다.

또한 자바스크립트에서는 void 함수가 없다.

 

arguments는 함수가 선언될 때 넘어가는 인자값이다..??

function a()

a(1,2,3)을 하면 arguments는 3이다 argument[0],1,2에 값이 들어있다.

arguments.length를 하면 3이 출력되고 이것을 활용해서 지정한 인자값을 초과해서 값이 들어온 것들도 활용이 가능하다.

 

 

 

콜스택

 

함수를 실행시키고 종료하기전에 다른 함수가 실행되서 그 함수가 스택에 쌓인것을 말한다.

function foo(b){

    var a = 5;

    var result = bar(b * a)

    console.log(result);

}

 

function bar(c){

    var  a = 10;

    return c * a;

}

 

foo(10);

 

을 보면  foo가 실행되고 종료되기 전에 bar가 호출돼서 bar값이 return이 되면 foo가 마무리되는 것을 볼 수 있다.

반응형