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 38

Preguntas 1

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

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"

He seguido estas primeras clases con la documentaci贸n oficial
https://docs.swift.org/swift-book/LanguageGuide/BasicOperators.html
Al mismo tiempo estoy leyendo este libro
iOS 14 Programming Fundamentals with Swift

resumen 馃憞馃徑
c = a ?? b

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

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

Nombrar un superh茅roe mientras nadie sepa su identidad real

let aliasHeroName = "Superman"
var realNameKnown : String?

realNameKnown = "Clark Kent"

var realHeroIdentity = realNameKnown ?? aliasHeroName

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

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
>

En JavaScript tenemos tambien el Nullish Coalescing, con la misma sintaxis ??. No confundir con ||.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing

//Reto
let defaultUsername = "Harry.Potter"
var userUsername : String?
var usernameToBeUsed = userUsername ?? defaultUsername

let username = "Antonio Banderas"
var insertUsername: String? = 鈥減aul ruiz鈥

var usernameToUse = insertUsername ?? username

Todo el curso pense que decia 鈥淛uan Gabriel鈥 por el cantante mexicano famoso jaajajajjaa apenas me di cuenta que lo dice por el, ya decia yo, si que era famoso el real juan gabriel

b谩seicamente lo entiendo como el elvis operator de kotlin

let defaultUserName = "Javier"
var userName: String?
var userNameUsed = userName ?? defaultUserName

馃槂

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. 
var userName: String?
var defaultUserName = "Uname"

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

Aqu铆 est谩 mi ejercicio:

let defaultName = "Ricardo Saenz"
var userName: String?

var nameToBeUsed = userName ?? defaultName

馃槂

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

var usernameToUse = username ?? defaultUsername

El reto

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

var userN = userName ?? defaultUserName

en javascript ser铆a

var ageToBeUsed = userAge || defaultAge

let defaultName = "Antonio Banderas"
var userName:String?
userName = "Nicolas Chavez"
var userToBeUsed = userName ?? defaultName
// Reto
let defaultUserName = "Antonio Banderas"
var userName: String?

userName = "Will Montenegro"

var userNameReal = userName ?? defaultUserName

Me equivoqu茅 de screenshot 馃槄

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

var username = userNickname ?? defauldNickname
var username: String?
var usernameUsed = username ?? "Antonio Banderas"
let userNameDefault = "perrito"
var userName: String?

//userName = "cesarcub"

let userNameToShow = userName ?? userNameDefault

print(userNameToShow)

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)")