[TIL] Swift - comma와 &&의 차이점

신승현·2024년 2월 15일

TIL

목록 보기
22/72

프로그래머스로 알고리즘 문제를 풀면서 ,를 사용하여 문제를 해결한 사람이 있어 궁금해서 공부해봤다.

1. comma와 &&의 차이점

  • ,는 'condition'을 이어붙이는 용도로 쓰는 것이고 &&는 두개의 'boolean expression'을 파라미터로 받는 논리 연산자라고 한다.

'condition'은 Swift 공식문서에서 'expression | availability-condition | case-condition | optional-binding-condition' 를 포함한다고 한다. 여기서 'expression'은 표현식이기 때문에 num + 1 같은 것을 말한다.

/* && 연산자 -> True 또는 False bool값을 비교해야 하는데,
   아래 코드의 옵셔널 바인딩 리턴값은 bool값이 아니다.
   따라서 에러가 발생한다 */ 
if let a = someOptional && let b = someOptional { ... }

// 하지만 아래 코드는 bool 값을 비교하기 때문에, 정상적으로 실행이 된다.
if num1 >= 10 && num2 <= 20 { ... }

/* Comma(,) -> 상수 a, b에 옵셔널 바인딩이 정상적으로
   이루어졌다면 두 condition(optional-binding-condition)을
   만족하기 때문에 에러가 발생하지 않는다 */

if let a = someOptional, let b = someOptional { ... }

// 아래 코드 또한 'expression'인 'condition'이기 때문에 정상적으로 실행이 된다.
if num1 >= 10 , num2 <= 20 { ... }
profile
개발자

0개의 댓글