본문 바로가기

분류 전체보기79

자바스크립트와 비교하며 Swift 공부하기 - 연산자편 단항연산자, 이항연산자, 삼항연산자 사용은 두 언어 모두 동일하나 다른 부분이 있다. swift에서 모듈로 연산자(%)는 Int 타입일때만 사용한다. swift는 나누기 연산자를 사용 할 때, 정수는 정수끼리 계산해야 내가 원하는 결과값을 얻을 수 있다. Double로 각각 변환 후 나누면 소수점이 계산된 결과가 나온다. 즉, Double(4/5) != Double(4) / Double(5) num++ 형태는 swift에서는 지원하지 않는다. swift 범위연산자 // 닫힌 범위 연산자(Closed Range Operator) // a 이상 b 이하 a...b // 반 닫힌 범위 연산자(Half-Open Range Operator) // a 이상 b 미만 a.. 2023. 7. 3.
자바스크립트와 비교하며 Swift 공부하기 - 변수와 데이터 타입편 제 목표는 저의 개발 첫 시작 언어인 자바스크립트를 잊지 않고, 새롭게 다시 도전 및 공부하고 싶은 언어인 swift를 학습하면서 기록해나가고 싶어 작성하게 되었습니다 :) 변수 선언의 차이 자바스크립트 swift 상수 const let 변수 let, var var 변수를 출력하기 위한 방법 자바스크립트 swift 변수 출력 방법 Template Literal을 활용 console.log(`Hi, I'm ${name}`) String Interpolation (문자열 보간법)활용 print("Hi, I'm \(name)") 데이터 타입 타입이 필요한 이유는 데이터를 메모리라는 공간에 어떤 크기와 형태로 저장할 지 정하기 위함이다. 자바스크립트 swift 데이터 타입 string number bigint .. 2023. 7. 3.
JavaScript - 실행 컨텍스트 아래 내용은 모던 자바스크립트 Deep Dive 23 챕터 실행 컨텍스트를 읽고 정리한 내용입니다. Keyword 1. 실행 컨텍스트 - 소스코드를 실행하는데 필요한 환경을 제공하고 코드의 실행결과를 실제로 관리하는 영역 - 식별자를 등록하고 관리하는 스코프와 코드 실행 순서 관리를 구현한 내부 메커니즘 - 실행 컨텍스트의 렉시컬 환경 : 식별자와 스코프 관리. 식별자와 식별자에 바인딩 된 값, 상위 스코프에 대한 참조를 기록하는 자료구조. 실행 컨텍스트를 관리하는 컴포넌트 - 실행 컨텍스트의 스택 : 코드의 실행 순서 관리, 코드 실행되는 흐름에 따라 실행 컨텍스트 스택에는 실행 컨택스트가 추가되고 제거됨 (실행 컨텍스트 스택의 최상위에 존재하는 실행 컨텍스트는 언제나 현재 실행 중인 코드의 실행 컨텍.. 2022. 10. 9.
Javascript - 스코프, 스코프 체인, 정적 스코프 아래 내용은 모던 자바스크립트 Deep Dive 13챕터 스코프를 읽고 정리한 내용입니다. Keyword 1. 스코프 식별자의 유효 범위를 의미하며, 자바스크립트 엔진이 식별자를 검색할 때 사용하는 규칙 식별자는 어떤 값을 구별할 수 있어야하므로 유일해야 함 모든 식별자(함수 이름, 변수 이름, 클래스 이름 등)는 자신이 선언된 위치에 의해 다른 코드가 식별자 자신을 참조할 수 있는 유효 범위 스코프가 결정됨 프로그래밍 언어는 스코프를 통해 식별자인 변수 이름의 충돌을 방지하여 같은 이름의 변수를 사용할 수 있게 한다. 스코프 내에서 식별자는 유일해야 하지만 다른 스코프에는 같은 이름의 식별자를 사용할 수 있다. 코드 선언 위치에 따른 스코프 구분 전역 코드의 가장 바깥 영역 전역 스코프 전역 변수 어.. 2022. 10. 9.
JavaScript - var, let, const, 전역 변수 아래 내용은 모던 자바스크립트 Deep Dive 14챕터 전역 변수의 문제점과 15챕터 let, const 키워드와 블록 레벨 스코프를 읽고 정리한 내용입니다. Keyword 1. var 키워드로 선언한 변수의 문제점 1. 변수의 중복 선언이 허용된다. 같은 스코프 내 중복 선언이 허용된다. 초기화 문이 있는 변수 선언문은 자바스크립트 엔진에 의해 var 키워드가 없는 것처럼 동작하고, 초기화 문이 없는 변수 선언문은 무시된다. 2. 함수 레벨 스코프를 사용한다. 함수의 코드 블록만을 지역 스코프로 인정한다. 함수 외부에서 var 키워드로 선언한 변수는 코드 블록내에서 선언해도 모두 전역 변수가 된다. 3. 변수 호이스팅 변수 선언문 이전에 참조가 가능해, 코드의 가독성을 떨어뜨리고 오류를 발생시킬 여지.. 2022. 10. 6.
Javascript - 메모리, 식별자, 변수, 변수 호이스팅 아래 내용은 모던 자바스크립트 Deep Dive 4챕터 변수를 읽고 정리한 내용입니다. 10 + 20 위 식을 해결하기 위해서 - 10, 20, +의 의미를 알고 해석(파싱) 할 수 있어야 함 - 10, 20이라는 정보를 기억해야함 - 연산된 결과 값 30도 어딘가에 활용하기 위해서도 정보를 저장해 재사용해야 함 컴퓨터에서 연산은 CPU가 정보 저장은 메모리가 함 자바스크립트에서는 메모리 공간에 직접 접근할 수 있는 메모리 제어를 허용하지 않음 만약 되더라도 메모리 주소는 코드 실행 시 메모리 상황에 따라 임의 결정되어 변경됨 Keyword 1. 메모리 데이터를 저장할 수 있는 셀(1byte, 8bit)의 집합 컴퓨터는 1byte 단위로 데이터를 읽고 저장함 셀은 고유의 메모리 주소(메모리 공간의 위치).. 2022. 10. 5.