목록분류 전체보기 (134)
채린씨의 티스토리
* 비교 연산자 - 좌항과 우항의 피연산자를 비교한 후, 결괏값을 논리적 자료형(true/false)으로 반환하는 연산자 비교 연산자 설명 예제 결과 a > b a가 b보다 크면 true 아니면 false 5 > 3 true a = b a가 b보다 크거나 같으면 true 아니면 false 5 >= 10 false a
* 연산자 - 프로그램에서 데이터를 처리하여 결과를 산출할 목적으로 사용되는 문자 - 피연산자: 연산의 대상 값 - 피 연산자의 개수에 따라 단항/이항/삼항 연산자의 종류가 존재 연산자 단항 연산자 부호 연산자 +, - 증감 연산자 ++, -- 논리 연산자 ! 비트 연산자 ~ 이항 연산자 산술 연산자 +, -, *, /, % 대입 연산자 = 비교 연산자 ==, != 논리 연산자 &&, || 삼항 연산자 (조건식)?(참일 경우의 식):(거짓일 경우의 식) * 연산자 우선순위 - 우선순위가 클수록 먼저 수행됨 (https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Operator_Precedence) 21 그룹 없음 ( … ) 20..
* 형 변환 - 자바스크립트는 느슨한 타입 언어, 혹은 동적 타입 언어이므로 변수의 자료형을 명시적으로 선언할 필요가 없음(٩( ᐛ )و ) - 연산자로 인한 계산이나 변수에 전달되는 값은 자동으로 암묵적 형 변환됨 - 강제적 형 변환을 위해서는 자료형 함수를 이용해 명시적 형 변환 수행 * String으로 형 변환 - 형 변환 전 - 잠깐, NaN의 타입이 number라고?? 더보기 - ㄴㅇㄱ (NaN !== NaN) == true ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ.. 링크를 들어가 보면 그 이유를 대충은.. 알 수 있다. NaN는 숫자 유형이긴 한데, 정해진 특정값은 아닌.. 어쩌구.. 일단은 패스하자. - String으로 형 변환 - 잠깐, 여러 줄의 코드를 세로로 묶어서 동시에 수정하는 법? 더보기 mac..
* 객체(object) 복사 문제점 - object의 값을 복사할 때는 대상 전체가 아니라, object 내 주소 값만 복사됨 - 가리키는 대상 전체를 복사하려면 얕은 복사(Shallow copy) 또는 깊은 복사(Deep copy) 방법 사용 * 얕은 복사(Shallow copy) 1 - for문을 이용한 복사 // 궁금한 점 (궁금증이 해결될 때 까지만 남아있을 글) for (let key in user) { user2[key] = user[key]; } // 1. 아래 코드처럼 let이 빠지면 안되는 이유가 있을까? for (key in user) { user2[key] = user[key]; } // 2. 아래 코드는 왜 오류가 날까? for (key in user) { user2.key = us..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dfUK8R/btru3Nb4qXB/J70qhKvnZLyhNpI6IiG6Ok/img.png)
* 객체(object) - 다수의 원시 자료형을 포함하거나 복잡한 개체(entity)를 표현할 수 있는 자료형 - Object() 혹은 중괄호({})를 이용해 생성 - 객체(object)의 개체(entity)는 key: value 형태로 존재하며, object.key 또는 object["key"]로 접근(object.key 방식을 더 많이 사용) - key에는 String과 Symbol type만 사용할 수 있다. - 객체에는 값이 아니라 개체들이 저장되어있는 "메모리 주소"가 저장된다. - 객체를 생성한 후 각 개체의 value값 변경 가능 - 객체를 생성한 후 obj.key = value로 개체 추가 가능 - 객체를 생성한 후 delete로 개체 삭제 가능
자료형 종류 목적에 따라 특별한 성질이나 정해진 범주를 가지는 데이터의 종류 JavaScript에는 6가지 원시 타입 자료형과 1가지 객체 타입 자료형이 있음 구분 데이터 타입 설명 원시 타입(primitive type) boolean 논리적 참(true)/거짓(false) null 값이 없다는 것을 의도적으로 명시할 때 사용 undefined var 키워드로 선언된 변수에 암묵적으로 할당되는 값 number 숫자 정수/실수 구분 없음 정수의 한계는 $\pm2^{53}$ 한계를 넘는 정수를 표현할 때는 bigint 사용 string 문자열 symbol 문자열과 함께 객체 property로 사용 ES6에서 추가됨 많이 사용되지 않음 객체 타입(object type) object 두 개 이상의 복잡한 개체..
* 변수 - 변경 가능한 값을 저장하기 위한 기억 공간(memory) - 사용하기 전 반드시 선언 필요 - 중복 선언 불가능 - 선언 키워드: let [변수 예제] * 상수 - 변경 불가능한 값을 저장하기 위한 기억 공간 - 사용하기 전 반드시 선언 필요 - 선언할 때 반드시 초기화 필요 - 중복 선언 불가능 - 보통 대문자로 표기 - 선언 키워드: const [상수 예제] * 호이스팅 (Hoisting) - JavaScript 엔진은 소스코드를 한 줄씩 순차적으로 실행하기에 앞서, 모든 선언문(변수 선언문, 함수 선언문 등)을 찾아내 먼저 실행 - 즉, 변수 선언이 어디에 있든 상관없이 다른 코드보다 먼저 실행되는 특징을 호이스팅이라 함 - let / const를 이용한 선언문은 호이스팅이 발생하지 않..
* 코드 구성 - JavaScript는 문법의 대부분을 C, C++, Java로부터 차용하여 제작된 스크립트 기반 언어 - 다수의 표현식으로 하나의 명령문이 만들어지며, 명령문으로 프로그램이 수행 - 표현식(expression) : let, 안녕, "Hello" -> 명령문(statement) : let 안녕 = "Hello"; - 하나의 명령문 끝은 개행 문자(Enter) 혹은 세미콜론(;)으로 표시 - 세미콜론 없이 Enter만 쳐도 문제없으나, 세미콜론으로 명령문을 마무리 짓는 것을 추천(어차피 Prettier가 자동으로 붙여줌) [예제] * JavaScript의 키워드 - JavaScript에서 문법을 만들 때 미리 정해진 용도로 동작하기 위해 정의해 놓은 단어 - 식별자로 사용하지 않음 * J..