6~8장 스터디 정리

김동현 (마늘향기)·2023년 4월 19일
0

자스스터디 6,7,8장 질문목록

새롭게 안 사실:

6장 데이터 타입

  • 배정밀도에 대해서 조금 더 알게됐다
  • 데이터 타입은 값의 종류를 말한다. 자바스크립트의 모든 값은 데이터 타입을 갖는다. 변수의 타입을 의미하는게 아니라 값의 종류라는걸 새롭게 알았다. 값의 종류에 따라 변수의 타입이 결정된다.
  • 자바스크립트의 undefined에서 말하는 정의란 변수에 값을 할당하여 변수의 실체를 명확히 하는 것을 말한다. → 선언과 정의 부분 책에서 다시 한번 살펴보기.
  • 자바스크립트의 모든 값은 데이터 타입을 갖는다. 그렇다면 변수는 데이터 타입을 가질까? 기본적으로 변수는 타입을 갖지 않는다. 하지만 값은 타입을 갖는다. 따라서 현재 변수에 할당되어 있는 값에 의해 변수의 타입이 동적으로 결정된다고 표현하는 것이 더 적절하다. 변수는 값에 묶여 있는 값에 대한 별명이기 때문이다.

7장 연산자

    • 단항 연산자가 음수를 양수로 바꾸지 않는다.
    • 단항 연산자는 숫자 타입이 아닌 피연산자를 숫자 타입으로 변환하여 반환한다.
  • 동등 비교(==) 연산자는 좌항과 우항의 피연산자를 비교할 때 먼저 암묵적 타입 변환을 통해 타입을 일치시킨 후 같은 값인지 비교한다.
  • 부수 효과가 있는 연산자는 할당 연산자(=), 증가/감소 연산자(++,--), delete 연산자다.

8장 제어문

  • 레이블 문, 반복문 또는 switch 문의 코드 블록을 탈출한다. 그 외의 경우 SyntaxError(문법 에러)가 발생한다.

스터디에서 이야기해볼 만한 질문 다시 정리.

  • 자바스크립트의 모든 값은 데이터 타입을 갖는다. 그렇다면 변수는 데이터 타입을 가질까? 기본적으로 변수는 타입을 갖지 않는다. 하지만 값은 타입을 갖는다. 따라서 현재 변수에 할당되어 있는 값에 의해 변수의 타입이 동적으로 결정된다고 표현하는 것이 더 적절하다. 변수는 값에 묶여 있는 값에 대한 별명이기 때문이다.
  • 부수 효과가 있는 연산자는 할당 연산자(=), 증가/감소 연산자(++,--), delete 연산자다.
  • 자바스크립트의 undefined에서 말하는 정의란 변수에 값을 할당하여 변수의 실체를 명확히 하는 것을 말한다. → 아래와 같이 내가 한 이해가 맞나?
    var a; //변수 선언
    a = 12; //변수 정의?
    
    //함수 선언과 정의는 어떻게 다른가??
    

함수 선언과 정의는 어떻게 다른가?? → 이 부분 확인해서 다음 스터디 때 말하기.

변수 선언과 함수 정의 차이.

선언(Declaration)은 코드 일부로서 변수나 함수가 있음을 알려주는 것이고 정의(Difinition)은 코드 일부로서 변수나 함수가 무엇인지 알려주는 것이다. 즉 있음을 알려주는 것이 선언, 무엇인지 알려주는 것이 정의이다.

참고: [https://ingorae.tistory.com/918]

변수 선언

var a; //변수 선언
a = 12; //변수 정의

var b = 'b';// 선언 + 정의

하지만 자바스크립트의 경우 변수를 선언하면 암묵적으로 정의가 이뤄지기 때문에 선언과 정의의 구분이 모호하다.

함수 정의

함수는 선언문이 평가되면 식별자가 암묵적으로 생성되고 함수 객체가 할당된다. (p.158)

→ 함수 식별자에 객체가 할당되기 때문에 함수는 ‘정의한다’ 라고 표현한다.

profile
안녕하세요, 김동현입니다. 공부한 내용을 기록하고자 블로그를 생성하였습니다. 감사합니다.

0개의 댓글