목록전체 글 (115)
all is well!!

👀 원시 값 🟣 변경 불가능한 값 1. 원시 타입의 값은 변경 불가능한 값. 2. 읽기 전용 값으로 어떤 일이 있어도 변경할 수 없다. 3. 데이터 신뢰성을 보장한다. 헷갈리면 안되는 점! 원시 값 자체를 변경할 수 없는거지 변수는 언제든 재할당을 통해 변수값을 변경 할 수 있다. 상수도 재할당이 금지된 변수일 뿐이지 변경 불가능한 값을 동일하게 생각하면 안된다! 원시값을 할당한 변수에 새로운 원시 값을 재할당하면 새로운 메모리 공간을 확보해 재할당한 원시 값을 저장한다. 변수는 재할당한 원시값을 가리키고 참조하던 메모리 공간의 주소가 재할당한 곳으로 바뀐다. 값의 이런 특성을 불변성이라고 한다. 불변성을 갖는 원시 값을 할당한 변수는 재할당 이외에 변수 값을 변경할 수 있는 방법은 없다! 🟣 문자..
👀 객체 ? JS를 구성하는 원시값을 제외한 거의 모든것(함수, 배열, 정규 표현식 등)이 객체다. 이렇게 객체의 집합으로 프로그램을 표현하려는 프로그래밍을 객체지향 프로그래밍! 그래서 JS = 객체지향 원시 타입 1. 단 하나의 값만 나타낸다. 2. 원시 타입의 값은 변경 불가능하다. 객체 1. 다양한 타입의 값을 하나의 단위로 구성한 복합적인 자료구조. 2. 객체는 값 변경이 가능하다. 객체는 0개 이상의 프로퍼티로 구성된 집합. 프로퍼티는 키(key)와 값(value)로 구성된다. var person = { name : 'Lee', // 프로퍼티 age : 20 // 프로퍼티 }; // 프로퍼티 키 : 프로퍼티 값 JS에서는 모든값이 프로퍼티 값으로 들어갈 수 있는데, 프로퍼티 값으로 함수가 들..

👀 타입 변환 ? JS에는 모든 값은 타입이 있다. 그리고 JS는 다른 타입으로 변환할 수 있는데, 1. 개발자의 의도에 따라 다른 타입으로 변환하는 명시적 타입 변환 2. 표현식을 평가하는 도중 JS 엔진에 의해 암묵적으로 타입이 자동변환하는 암묵적 타입 변환이 있다. 헷갈리면 안되는 점! 이런 타입변환이 기존 원시값을 직접 변경하는 것은 아니다. 타입 변환은 기존 원시값을 이용해 다른 타입의 새로운 원시 값을 생성하는것. var x = 10; var str = x + ''; console.log(typeof str, str); // string 10 console.log(typeof x, x); // number 10 암묵적 타입 변환은 JS엔진에 의해 표현식을 에러없이 평가하기 위해 피연산자의 ..

👀 원시 타입과 객체 타입의 차이 원시 타입은 값을 콜 스택에 저장 객체 타입은 값을 힙에 저장 객체 타입은 콜스택의 value에 객체가 아닌 힙에 저장된 메모리주소를 저장한다. 좀 더 쉽게 풀기 (24.01 추가) 비트(bit)는 0과 1로 표현할 수 있고 고유의 식별자로 위치를 알 수 있다. 좀더 효율적으로 관리하기 위해 비트를 적당한 묶음으로 관리한게 바이트(byte). 1바이트에는 8개의 비트로 묶여있다. 그리고 1비트는 0,1 두가지로 표현할 수 있기 때문에 256개(2의 8승)값을 표현할 수 있다. 모든 데이터는 이렇게 바이트 단위의 식별자인 메모리 주소값을 통해서 구분하고 연결한다. 원시 타입 : number, string, boolean, undefined, null, symbol 참조..

👀 제어문? 조건에 따라 코드 블록을 실행하거나 반복 실행할때 사용한다. 일반적으로 코드는 위에서 아래 방향으로 실행되지만 제어문을 사용하면 코드의 실행흐름을 인위적으로 제어 가능하다. 코드의 실행 순서가 중간에 변경된다는 것은 가독성을 해치는 단점이 되기도 하지만 바르게 이해하는것은 코딩 스킬에 많은 영향을 주기때문에 알아야한다. 👀 블록문 블록문은 0개 이상의 문을 중괄호{}로 묶은 것. JS에서는 블록문을 하나의 실행 단위로 취급한다. 보통 블록문은 제어문이나 함수를 정의할때 사용한다. 👀 조건문 주어진 조건식의 평과 결과에 따라 코드 블록의 실행을 결정한다. 조건식은 불리언 값으로 평가될 수 있는 표현식이다. 조건문에는 1. if문 2.switch문 이렇게 2가지가 있다. 🟣 if~ e..