Crea una cuenta o inicia sesión

¡Continúa aprendiendo sin ningún costo! Únete y comienza a potenciar tu carrera

Operador Nil Coalescing

5/33
Recursos

Aportes 37

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

let defaultUsername = "Bruce.Wayne"
var username: String?
//username = "miguel.serrato"
var usernameToBeUsed = username ?? defaultUsername
//si se descomenta la linea de asignacion de username a "miguel.serrato", el valor de la variable usernameToBeUsed sera "miguel.serrato",si no sera el valor por default que es "Bruce.Wayne"

Un buen ejemplo también podría ser cuando un usuario no agregó su foto de perfil, asignar una foto por defecto.

Mi reto

let defaultUser = "Felipe Carrasco"
var userName: String? = "Cristiano Ronaldo"

var userNameToUse = userName ?? defaultUser

resumen 👇🏽
c = a ?? b

var a: String? = "Hola"
// Similar (a != nil ? a! : "ejemplo" )
var b = a ??  "ejemplo"

<
var UserNameForDefault = "Antonio Banderas"
var UserName : String? 
let Name = UserName ?? UserNameForDefault

var DefaultColorOfTheUser = "Red"
var UserColor : String?
let ColorSelected = UserColor ?? DefaultColorOfTheUser
>

Nombrar un superhéroe mientras nadie sepa su identidad real

let aliasHeroName = "Superman"
var realNameKnown : String?

realNameKnown = "Clark Kent"

var realHeroIdentity = realNameKnown ?? aliasHeroName

Resumen

Una opción para manejar valores opcionales es proveer un valor por default usando el operador ??. Si falta el valor opcional, se usa el valor default.

let defaultAge = 18
var userAge: Int?

var ageToBeUsed = userAge ?? defaultAge

Se va a asignar el valor de userAge si existe, sino defaultAge.

Esta es la forma de escribir lo mismo pero con el operador ternario:

ageToBeUsed = (userAge != nil ? userAge! : defaultAge)

Al usar esta forma hay que realizar varias cosas como:

  1. validar que sea distinto de nil
  2. Realizar un Force Unwrapping

En Js vendría siendo algo así, si mal no recuerdo
const defaultAge = 18 const userAge const ageToBeUsed = userAge || defaultAge

El reto

let defaultUserName = "Juana la Alpaca"
var userName: String? = "Paco el Chato"

var userN = userName ?? defaultUserName
var username: String?
var usernameUsed = username ?? "Antonio Banderas"

Me equivoqué de screenshot 😅

let userNameDefault = "perrito"
var userName: String?

//userName = "cesarcub"

let userNameToShow = userName ?? userNameDefault

print(userNameToShow)

en javascript sería

var ageToBeUsed = userAge || defaultAge

//reto
var username: String?
let defaultUsername = "Antonio Banderas"

var usernameToUse = username ?? defaultUsername

😃

var userName: String?
var defaultUserName = "Uname"

userName = "Jacob"
print("Current user: \(userName ?? defaultUserName)")

// Reto
let defaultUserName = "Antonio Banderas"
var userName: String?

userName = "Will Montenegro"

var userNameReal = userName ?? defaultUserName
let defauldNickname = "Antonio Banderas"
var userNickname: String? = "Alexander24"

var username = userNickname ?? defauldNickname
let defaultName = "Antonio Banderas"
var userName:String?
userName = "Nicolas Chavez"
var userToBeUsed = userName ?? defaultName
let defaultName = "Ricardo Saenz"
var userName: String?

var nameToBeUsed = userName ?? defaultName

Aquí está mi ejercicio:

😃

let defaultUserName = "Javier"
var userName: String?
var userNameUsed = userName ?? defaultUserName
//Reto
let defaultUsername = "Harry.Potter"
var userUsername : String?
var usernameToBeUsed = userUsername ?? defaultUsername

let username = "Antonio Banderas"
var insertUsername: String? = “paul ruiz”

var usernameToUse = insertUsername ?? username

```js let defaultUserName = "Cristian" var userName: String? var userNameToBeUsed = userName ?? defaultUserName ```**let** defaultUserName = "Cristian" **var** userName: String? **var** userNameToBeUsed = userName ?? defaultUserName

dejo mi aportación

let defaultUserName = "Peter Venkman"
var userName: String?

var userNameToUse = userName ?? defaultUserName

báseicamente lo entiendo como el elvis operator de kotlin

resumen:

let valorPorDefecto = "txs"
var valorObtenido : String?

var valorAUsar = ValorObtenido ?? valorPorDefecto
// se toma valor por defecto si valor obtenido es nil, caso contrario, se usa el obtenido. 

Interesante, pero me mato esa anecdota de la variable con nombre default de antonio banderas.

Reto listo.

let defaultUserName = "Anonymous"
var userName: String?
userName = "Felipe Carrasco"
var userNameToBeUse = userName ?? defaultUserName
print("the user connected is \(userNameToBeUse)")